guardia-messenger/types/native-modules.d.ts

33 lines
1.3 KiB
TypeScript

/**
* 선택적 네이티브 모듈 타입 선언 (shim)
*
* EAS 빌드 시 package.json 의존성으로 설치되지만 로컬 node_modules 에
* 항상 존재하지 않을 수 있는 모듈에 대한 최소 타입을 제공한다.
* 실제 모듈이 설치되어 있으면 해당 모듈의 정식 타입이 우선 적용된다.
*/
declare module 'expo-image-picker' {
export interface ImagePickerAsset {
uri: string
width?: number
height?: number
fileName?: string | null
mimeType?: string
base64?: string | null
}
export interface ImagePickerResult {
canceled: boolean
assets: ImagePickerAsset[] | null
}
export const MediaTypeOptions: { All: 'All'; Images: 'Images'; Videos: 'Videos' }
export function requestMediaLibraryPermissionsAsync(): Promise<{ granted: boolean; status: string }>
export function requestCameraPermissionsAsync(): Promise<{ granted: boolean; status: string }>
export function launchImageLibraryAsync(options?: Record<string, unknown>): Promise<ImagePickerResult>
export function launchCameraAsync(options?: Record<string, unknown>): Promise<ImagePickerResult>
}
declare module 'expo-notifications' {
export function setBadgeCountAsync(count: number): Promise<boolean>
export function getBadgeCountAsync(): Promise<number>
}