@nuxt/scripts
Version:
Load third-party scripts with better performance, privacy and DX in Nuxt Apps.
22 lines (21 loc) • 1.09 kB
TypeScript
import type { RegistryScriptInput } from '#nuxt-scripts/types';
type ConsentOptions = 'default' | 'update';
export interface GTag {
(fn: 'js', opt: Date): void;
(fn: 'config' | 'get', opt: string): void;
(fn: 'event', opt: string, opt2?: Record<string, any>): void;
(fn: 'set', opt: Record<string, string>): void;
(fn: 'consent', opt: ConsentOptions, opt2: Record<string, string | number>): void;
}
type DataLayer = Array<Parameters<GTag> | Record<string, unknown>>;
export declare const GoogleAnalyticsOptions: import("valibot").ObjectSchema<{
readonly id: import("valibot").StringSchema<undefined>;
readonly l: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
}, undefined>;
export type GoogleAnalyticsInput = RegistryScriptInput<typeof GoogleAnalyticsOptions>;
export interface GoogleAnalyticsApi {
gtag: GTag;
dataLayer: DataLayer;
}
export declare function useScriptGoogleAnalytics<T extends GoogleAnalyticsApi>(_options?: GoogleAnalyticsInput): import("#nuxt-scripts/types").UseScriptContext<T>;
export {};