import type { RegistryScriptInput } from '#nuxt-scripts';
declare namespace google {
    namespace maps {
        /**
         * @internal
         */
        function __ib__(): void;
    }
}
export declare const GoogleMapsOptions: import("valibot").ObjectSchema<{
    apiKey: import("valibot").StringSchema<string>;
    libraries: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").StringSchema<string>, string[]>, undefined, string[] | undefined>;
    v: import("valibot").OptionalSchema<import("valibot").UnionSchema<(import("valibot").LiteralSchema<"weekly", "weekly"> | import("valibot").LiteralSchema<"beta", "beta"> | import("valibot").LiteralSchema<"alpha", "alpha">)[], "weekly" | "beta" | "alpha">, undefined, "weekly" | "beta" | "alpha" | undefined>;
}, undefined, {
    apiKey: string;
    libraries?: string[] | undefined;
    v?: "weekly" | "beta" | "alpha" | undefined;
}>;
export type GoogleMapsInput = RegistryScriptInput<typeof GoogleMapsOptions>;
export interface GoogleMapsApi {
    maps: typeof window.google.maps;
}
declare global {
    interface Window {
        google: typeof google;
    }
}
export declare function useScriptGoogleMaps<T extends GoogleMapsApi>(_options?: GoogleMapsInput): T & {
    $script: Promise<T> & import("@unhead/vue").VueScriptInstance<T>;
};
export {};
