1/* 2 * Copyright (c) 2025 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"), 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16/** 17 * @file 18 * @kit AVSessionKit 19 */ 20 21import { AVCastPickerState } from './@ohos.multimedia.avCastPickerParam'; 22 23/** 24 * A picker view to show availale input device list. 25 * @struct { AVInputCastPicker } 26 * @syscap SystemCapability.Multimedia.AVSession.AVInputCast 27 * @atomicservice 28 * @since 20 29 */ 30@Component 31export declare struct AVInputCastPicker { 32 33 /** 34 * Set the custom builder for the picker appearance. 35 * If not set, system will show the default appearance for different device type. 36 * @type { ? CustomBuilder } 37 * @syscap SystemCapability.Multimedia.AVSession.AVInputCast 38 * @atomicservice 39 * @since 20 40 */ 41 @Prop 42 customPicker?: CustomBuilder; 43 44 /** 45 * Picker state change callback. 46 * @type { ?OnPickerStateCallback } 47 * @syscap SystemCapability.Multimedia.AVSession.AVInputCast 48 * @atomicservice 49 * @since 20 50 */ 51 onStateChange?: OnPickerStateCallback; 52} 53 54/** 55 * Callback for picker state 56 * 57 * @typedef { function } OnPickerStateCallback 58 * @param { AVCastPickerState } state - the picker state. 59 * @returns { void } 60 * @syscap SystemCapability.Multimedia.AVSession.AVInputCast 61 * @atomicservice 62 * @since 20 63 */ 64export type OnPickerStateCallback = (state: AVCastPickerState) => void;