declare module 'expo-image-picker' {
  export function requestCameraPermissionsAsync(): Promise<{ status: string }>;
  export function launchCameraAsync(options?: {
    quality?: number;
    base64?: boolean;
    allowsEditing?: boolean;
  }): Promise<{ canceled: boolean; assets: Array<{ uri: string; base64?: string }> }>;
  export function launchImageLibraryAsync(options?: {
    quality?: number;
    base64?: boolean;
    mediaTypes?: string;
  }): Promise<{ canceled: boolean; assets: Array<{ uri: string; base64?: string }> }>;
}

declare module 'expo-location' {
  export enum Accuracy {
    Lowest = 1,
    Low = 2,
    Balanced = 3,
    High = 4,
    Highest = 5,
    BestForNavigation = 6,
  }
  export function requestForegroundPermissionsAsync(): Promise<{ status: string }>;
  export function getCurrentPositionAsync(options?: {
    accuracy?: Accuracy;
  }): Promise<{
    coords: {
      latitude: number;
      longitude: number;
      altitude: number | null;
      accuracy: number;
      altitudeAccuracy: number | null;
      heading: number | null;
      speed: number | null;
    };
    timestamp: number;
  }>;
}
