import { ProjectUIDL } from '@teleporthq/teleport-types'; export interface AccessRulesSettings { ageGateEnabled: boolean; minimumAge: number; ageGateMode: 'confirm' | 'birthdate'; ageGateScope: 'site' | 'pages'; rememberDays: number; allowCrawlers: boolean; geoMode: 'off' | 'block' | 'allow'; /** Upper-case ISO 3166-1 alpha-2 codes. */ geoCountries: string[]; geoUnknownCountry: 'allow' | 'block'; } /** The plugin's settings when the project has it on; null otherwise. */ export declare const resolveAccessRulesSettings: (uidl: ProjectUIDL) => AccessRulesSettings | null; /** * What the editor exports beside the settings (`uidl.plugins.accessRules.data` * and `.pages`): whether the project has the editor's Age Gate component * (without it there is no gate to drive), the gated paths as served, the * Unavailable page's paths as served (the gate never covers it) and its route * (without it a blocked visitor gets a plain notice). */ export interface AccessRulesRuntime { gate: 'component' | 'none'; gatedPaths: string[]; unavailablePaths: string[]; unavailableRoute: string | null; } export declare const resolveAccessRulesRuntime: (uidl: ProjectUIDL) => AccessRulesRuntime; /** The gate has somewhere to show: the whole site, or at least one gated path. */ export declare const ageGateActive: (settings: AccessRulesSettings, runtime: AccessRulesRuntime) => boolean; /** A country rule with at least one country does something. */ export declare const geoRulesActive: (settings: AccessRulesSettings) => boolean; //# sourceMappingURL=settings.d.ts.map