import type { TasFirebaseCrashlyticsPlugin } from './definitions';
export type CameraCapureOptions = {
    message: string;
    rounded: boolean;
    aspectRatioX: number;
    aspectRatioY: number;
};
export type CameraCropOptions = CameraCapureOptions;
export type CameraCaptureResult = {
    data: string;
    thumb: string;
    coords: {
        x: number;
        y: number;
    };
    dimensions: {
        width: number;
        height: number;
    };
};
interface CameraCapturePlugin {
    capture(options: CameraCapureOptions): Promise<CameraCaptureResult>;
    captureVideo(): Promise<{
        data: string;
    }>;
    pickSimpleImage(options: CameraCropOptions): Promise<CameraCaptureResult>;
    pickMultipleImage(options: CameraCropOptions): Promise<{
        data: Array<CameraCaptureResult>;
    }>;
    pickSimpleVideo(): Promise<{
        url: string;
    }>;
    pickMultipleVideo(): Promise<{
        urls: string[];
    }>;
}
export interface GeocoderOptions {
    useLocale?: boolean;
    defaultLocale?: string;
    maxResults?: number;
}
export interface GeocoderResult {
    latitude?: string;
    longitude?: string;
    countryCode?: string;
    countryName?: string;
    postalCode?: string;
    administrativeArea?: string;
    subAdministrativeArea?: string;
    locality?: string;
    subLocality?: string;
    thoroughfare?: string;
    subThoroughfare?: string;
    areasOfInterest?: string[];
}
export interface GeocoderPointOptions {
    latitude: number;
    longitude: number;
}
export interface GeocoderPlaceNameOptions {
    address: string;
}
interface GeocoderPlugin {
    reverseGeocode(options: GeocoderOptions & GeocoderPointOptions): Promise<{
        result: GeocoderResult[];
    }>;
    forwardGeocode(options: GeocoderOptions & GeocoderPlaceNameOptions): Promise<{
        result: GeocoderResult[];
    }>;
}
export interface LaunchNavigatorOptions {
    enableGeolocation?: boolean;
    app?: string;
    dType?: string;
    dest?: string;
    destNickname?: string;
    sType?: string;
    start?: string;
    startNickname?: string;
    transportMode?: string;
    launchMode?: boolean;
    currentLocation?: string;
    extras?: any;
}
interface LaunchNavigatorPlugin {
    navigate(options: LaunchNavigatorOptions): Promise<void>;
    discoverSupportedApps(): Promise<Record<string, boolean>>;
    availableApps(): Promise<Record<string, boolean>>;
    isAppAvailable(options: {
        appName: string;
    }): Promise<{
        isAvailable: boolean;
    }>;
}
export declare const APPS: {
    APPLE_MAPS: string;
    GOOGLE_MAPS: string;
    WAZE: string;
    CITYMAPPER: string;
    NAVIGON: string;
    TRANSIT_APP: string;
    YANDEX: string;
    UBER: string;
    TOMTOM: string;
    BING_MAPS: string;
    SYGIC: string;
    HERE_MAPS: string;
    MOOVIT: string;
    LYFT: string;
    MAPS_ME: string;
    CABIFY: string;
    BAIDU: string;
    TAXIS_99: string;
    GAODE: string;
};
export declare const CameraCapturePlugin: CameraCapturePlugin;
export declare const TasFirebaseCrashlytics: TasFirebaseCrashlyticsPlugin;
export declare const GeocoderPlugin: GeocoderPlugin;
export declare const LaunchNavigatorPlugin: LaunchNavigatorPlugin;
export * from './definitions';
