33 lines
1.3 KiB
TypeScript
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>
|
|
}
|