import { z } from 'zod';
import { type Capabilities } from './capabilities/capabilitiesSchema.js';
import { type FeatureGates } from './featureGatesSchema.js';
export declare const FeaturesResponseSchema: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodObject<{
    features: z.ZodObject<{
        bugReports: z.ZodDefault<z.ZodOptional<z.ZodObject<{
            enabled: z.ZodBoolean;
        }, z.core.$strip>>>;
        e2ee: z.ZodDefault<z.ZodOptional<z.ZodObject<{
            keylessAccounts: z.ZodDefault<z.ZodOptional<z.ZodObject<{
                enabled: z.ZodBoolean;
            }, z.core.$strip>>>;
        }, z.core.$strip>>>;
        encryption: z.ZodDefault<z.ZodOptional<z.ZodObject<{
            plaintextStorage: z.ZodDefault<z.ZodOptional<z.ZodObject<{
                enabled: z.ZodBoolean;
            }, z.core.$strip>>>;
            accountOptOut: z.ZodDefault<z.ZodOptional<z.ZodObject<{
                enabled: z.ZodBoolean;
            }, z.core.$strip>>>;
        }, z.core.$strip>>>;
        attachments: z.ZodDefault<z.ZodOptional<z.ZodObject<{
            uploads: z.ZodDefault<z.ZodOptional<z.ZodObject<{
                enabled: z.ZodBoolean;
            }, z.core.$strip>>>;
        }, z.core.$strip>>>;
        automations: z.ZodDefault<z.ZodOptional<z.ZodObject<{
            enabled: z.ZodBoolean;
        }, z.core.$strip>>>;
        connectedServices: z.ZodDefault<z.ZodOptional<z.ZodObject<{
            enabled: z.ZodBoolean;
            quotas: z.ZodDefault<z.ZodOptional<z.ZodObject<{
                enabled: z.ZodBoolean;
            }, z.core.$strip>>>;
        }, z.core.$strip>>>;
        channelBridges: z.ZodDefault<z.ZodOptional<z.ZodObject<{
            enabled: z.ZodBoolean;
            telegram: z.ZodDefault<z.ZodOptional<z.ZodObject<{
                enabled: z.ZodBoolean;
            }, z.core.$strip>>>;
        }, z.core.$strip>>>;
        updates: z.ZodDefault<z.ZodOptional<z.ZodObject<{
            ota: z.ZodDefault<z.ZodOptional<z.ZodObject<{
                enabled: z.ZodBoolean;
            }, z.core.$strip>>>;
        }, z.core.$strip>>>;
        sharing: z.ZodDefault<z.ZodOptional<z.ZodObject<{
            session: z.ZodDefault<z.ZodOptional<z.ZodObject<{
                enabled: z.ZodBoolean;
            }, z.core.$strip>>>;
            public: z.ZodDefault<z.ZodOptional<z.ZodObject<{
                enabled: z.ZodBoolean;
            }, z.core.$strip>>>;
            contentKeys: z.ZodDefault<z.ZodOptional<z.ZodObject<{
                enabled: z.ZodBoolean;
            }, z.core.$strip>>>;
            pendingQueueV2: z.ZodDefault<z.ZodOptional<z.ZodObject<{
                enabled: z.ZodBoolean;
            }, z.core.$strip>>>;
        }, z.core.$strip>>>;
        sessions: z.ZodDefault<z.ZodOptional<z.ZodObject<{
            enabled: z.ZodBoolean;
            handoff: z.ZodDefault<z.ZodOptional<z.ZodObject<{
                enabled: z.ZodBoolean;
            }, z.core.$strip>>>;
        }, z.core.$strip>>>;
        machines: z.ZodDefault<z.ZodOptional<z.ZodObject<{
            enabled: z.ZodBoolean;
            transfer: z.ZodDefault<z.ZodOptional<z.ZodObject<{
                enabled: z.ZodBoolean;
                directPeer: z.ZodDefault<z.ZodOptional<z.ZodObject<{
                    enabled: z.ZodBoolean;
                }, z.core.$strip>>>;
                serverRouted: z.ZodDefault<z.ZodOptional<z.ZodObject<{
                    enabled: z.ZodBoolean;
                }, z.core.$strip>>>;
            }, z.core.$strip>>>;
        }, z.core.$strip>>>;
        terminal: z.ZodDefault<z.ZodOptional<z.ZodObject<{
            embeddedPty: z.ZodDefault<z.ZodOptional<z.ZodObject<{
                enabled: z.ZodBoolean;
            }, z.core.$strip>>>;
        }, z.core.$strip>>>;
        voice: z.ZodDefault<z.ZodOptional<z.ZodObject<{
            enabled: z.ZodBoolean;
            happierVoice: z.ZodDefault<z.ZodOptional<z.ZodObject<{
                enabled: z.ZodBoolean;
            }, z.core.$strip>>>;
        }, z.core.$strip>>>;
        social: z.ZodDefault<z.ZodOptional<z.ZodObject<{
            friends: z.ZodDefault<z.ZodOptional<z.ZodObject<{
                enabled: z.ZodBoolean;
            }, z.core.$strip>>>;
        }, z.core.$strip>>>;
        auth: z.ZodDefault<z.ZodOptional<z.ZodObject<{
            recovery: z.ZodDefault<z.ZodOptional<z.ZodObject<{
                providerReset: z.ZodDefault<z.ZodOptional<z.ZodObject<{
                    enabled: z.ZodBoolean;
                }, z.core.$strip>>>;
            }, z.core.$strip>>>;
            mtls: z.ZodDefault<z.ZodOptional<z.ZodObject<{
                enabled: z.ZodBoolean;
            }, z.core.$strip>>>;
            login: z.ZodDefault<z.ZodOptional<z.ZodObject<{
                keyChallenge: z.ZodDefault<z.ZodOptional<z.ZodObject<{
                    enabled: z.ZodBoolean;
                }, z.core.$strip>>>;
            }, z.core.$strip>>>;
            pairing: z.ZodDefault<z.ZodOptional<z.ZodObject<{
                desktopQrMobileScan: z.ZodDefault<z.ZodOptional<z.ZodObject<{
                    enabled: z.ZodBoolean;
                }, z.core.$strip>>>;
            }, z.core.$strip>>>;
            ui: z.ZodDefault<z.ZodOptional<z.ZodObject<{
                recoveryKeyReminder: z.ZodDefault<z.ZodOptional<z.ZodObject<{
                    enabled: z.ZodBoolean;
                }, z.core.$strip>>>;
            }, z.core.$strip>>>;
        }, z.core.$strip>>>;
    }, z.core.$strip>;
    capabilities: z.ZodObject<{
        bugReports: z.ZodDefault<z.ZodOptional<z.ZodObject<{
            providerUrl: z.ZodNullable<z.ZodString>;
            defaultIncludeDiagnostics: z.ZodBoolean;
            maxArtifactBytes: z.ZodNumber;
            acceptedArtifactKinds: z.ZodArray<z.ZodString>;
            uploadTimeoutMs: z.ZodNumber;
            contextWindowMs: z.ZodNumber;
        }, z.core.$strip>>>;
        voice: z.ZodDefault<z.ZodOptional<z.ZodObject<{
            configured: z.ZodBoolean;
            provider: z.ZodNullable<z.ZodEnum<{
                elevenlabs: "elevenlabs";
            }>>;
            requested: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
            disabledByBuildPolicy: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
        }, z.core.$strip>>>;
        encryption: z.ZodDefault<z.ZodOptional<z.ZodObject<{
            storagePolicy: z.ZodEnum<{
                optional: "optional";
                required_e2ee: "required_e2ee";
                plaintext_only: "plaintext_only";
            }>;
            allowAccountOptOut: z.ZodBoolean;
            defaultAccountMode: z.ZodEnum<{
                plain: "plain";
                e2ee: "e2ee";
            }>;
            plainAccountSettingsAtRest: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
                none: "none";
                server_sealed: "server_sealed";
            }>>>;
            plainAccountCredentialsAtRest: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
                none: "none";
                server_sealed: "server_sealed";
            }>>>;
        }, z.core.$strip>>>;
        server: z.ZodDefault<z.ZodOptional<z.ZodObject<{
            canonicalServerUrl: z.ZodOptional<z.ZodString>;
            webappUrl: z.ZodOptional<z.ZodString>;
            retention: z.ZodOptional<z.ZodObject<{
                policyVersion: z.ZodLiteral<1>;
                enabled: z.ZodBoolean;
                sessions: z.ZodDiscriminatedUnion<[z.ZodObject<{
                    mode: z.ZodLiteral<"keep_forever">;
                }, z.core.$strict>, z.ZodObject<{
                    mode: z.ZodLiteral<"delete_inactive">;
                    inactivityDays: z.ZodNumber;
                    requires: z.ZodTuple<[z.ZodLiteral<"updatedAt">, z.ZodLiteral<"lastActiveAt">], null>;
                }, z.core.$strict>], "mode">;
                accountChanges: z.ZodDiscriminatedUnion<[z.ZodObject<{
                    mode: z.ZodLiteral<"keep_forever">;
                }, z.core.$strict>, z.ZodObject<{
                    mode: z.ZodLiteral<"delete_older_than">;
                    days: z.ZodNumber;
                }, z.core.$strict>], "mode">;
                voiceSessionLeases: z.ZodDiscriminatedUnion<[z.ZodObject<{
                    mode: z.ZodLiteral<"keep_forever">;
                }, z.core.$strict>, z.ZodObject<{
                    mode: z.ZodLiteral<"delete_older_than">;
                    days: z.ZodNumber;
                }, z.core.$strict>], "mode">;
                userFeedItems: z.ZodDiscriminatedUnion<[z.ZodObject<{
                    mode: z.ZodLiteral<"keep_forever">;
                }, z.core.$strict>, z.ZodObject<{
                    mode: z.ZodLiteral<"delete_older_than">;
                    days: z.ZodNumber;
                }, z.core.$strict>], "mode">;
                sessionShareAccessLogs: z.ZodDiscriminatedUnion<[z.ZodObject<{
                    mode: z.ZodLiteral<"keep_forever">;
                }, z.core.$strict>, z.ZodObject<{
                    mode: z.ZodLiteral<"delete_older_than">;
                    days: z.ZodNumber;
                }, z.core.$strict>], "mode">;
                publicShareAccessLogs: z.ZodDiscriminatedUnion<[z.ZodObject<{
                    mode: z.ZodLiteral<"keep_forever">;
                }, z.core.$strict>, z.ZodObject<{
                    mode: z.ZodLiteral<"delete_older_than">;
                    days: z.ZodNumber;
                }, z.core.$strict>], "mode">;
                terminalAuthRequests: z.ZodDiscriminatedUnion<[z.ZodObject<{
                    mode: z.ZodLiteral<"keep_forever">;
                }, z.core.$strict>, z.ZodObject<{
                    mode: z.ZodLiteral<"delete_older_than">;
                    days: z.ZodNumber;
                }, z.core.$strict>], "mode">;
                accountAuthRequests: z.ZodDiscriminatedUnion<[z.ZodObject<{
                    mode: z.ZodLiteral<"keep_forever">;
                }, z.core.$strict>, z.ZodObject<{
                    mode: z.ZodLiteral<"delete_older_than">;
                    days: z.ZodNumber;
                }, z.core.$strict>], "mode">;
                authPairingSessions: z.ZodDiscriminatedUnion<[z.ZodObject<{
                    mode: z.ZodLiteral<"keep_forever">;
                }, z.core.$strict>, z.ZodObject<{
                    mode: z.ZodLiteral<"delete_older_than">;
                    days: z.ZodNumber;
                }, z.core.$strict>], "mode">;
                repeatKeys: z.ZodDiscriminatedUnion<[z.ZodObject<{
                    mode: z.ZodLiteral<"keep_forever">;
                }, z.core.$strict>, z.ZodObject<{
                    mode: z.ZodLiteral<"delete_older_than">;
                    days: z.ZodNumber;
                }, z.core.$strict>], "mode">;
                globalLocks: z.ZodDiscriminatedUnion<[z.ZodObject<{
                    mode: z.ZodLiteral<"keep_forever">;
                }, z.core.$strict>, z.ZodObject<{
                    mode: z.ZodLiteral<"delete_older_than">;
                    days: z.ZodNumber;
                }, z.core.$strict>], "mode">;
                automationRuns: z.ZodDiscriminatedUnion<[z.ZodObject<{
                    mode: z.ZodLiteral<"keep_forever">;
                }, z.core.$strict>, z.ZodObject<{
                    mode: z.ZodLiteral<"delete_older_than">;
                    days: z.ZodNumber;
                }, z.core.$strict>], "mode">;
                automationRunEvents: z.ZodDiscriminatedUnion<[z.ZodObject<{
                    mode: z.ZodLiteral<"keep_forever">;
                }, z.core.$strict>, z.ZodObject<{
                    mode: z.ZodLiteral<"delete_older_than">;
                    days: z.ZodNumber;
                }, z.core.$strict>], "mode">;
            }, z.core.$strict>>;
        }, z.core.$strict>>>;
        machines: z.ZodDefault<z.ZodOptional<z.ZodObject<{
            transfer: z.ZodDefault<z.ZodOptional<z.ZodObject<{
                serverRouted: z.ZodDefault<z.ZodOptional<z.ZodObject<{
                    maxBytes: z.ZodDefault<z.ZodOptional<z.ZodPipe<z.ZodTransform<number | null, unknown>, z.ZodNullable<z.ZodNumber>>>>;
                }, z.core.$strip>>>;
            }, z.core.$strip>>>;
        }, z.core.$strip>>>;
        social: z.ZodDefault<z.ZodOptional<z.ZodObject<{
            friends: z.ZodDefault<z.ZodOptional<z.ZodObject<{
                allowUsername: z.ZodBoolean;
                requiredIdentityProviderId: z.ZodNullable<z.ZodString>;
            }, z.core.$strip>>>;
        }, z.core.$strip>>>;
        oauth: z.ZodDefault<z.ZodOptional<z.ZodObject<{
            providers: z.ZodRecord<z.ZodString, z.ZodObject<{
                enabled: z.ZodBoolean;
                configured: z.ZodBoolean;
            }, z.core.$strip>>;
        }, z.core.$strip>>>;
        auth: z.ZodDefault<z.ZodOptional<z.ZodObject<{
            methods: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
                id: z.ZodString;
                actions: z.ZodArray<z.ZodObject<{
                    id: z.ZodEnum<{
                        login: "login";
                        provision: "provision";
                        connect: "connect";
                    }>;
                    enabled: z.ZodBoolean;
                    mode: z.ZodEnum<{
                        keyed: "keyed";
                        keyless: "keyless";
                        either: "either";
                    }>;
                }, z.core.$strip>>;
                ui: z.ZodOptional<z.ZodObject<{
                    displayName: z.ZodOptional<z.ZodString>;
                    iconHint: z.ZodOptional<z.ZodNullable<z.ZodString>>;
                }, z.core.$strip>>;
            }, z.core.$strip>>>>;
            signup: z.ZodObject<{
                methods: z.ZodArray<z.ZodObject<{
                    id: z.ZodString;
                    enabled: z.ZodBoolean;
                }, z.core.$strip>>;
            }, z.core.$strip>;
            login: z.ZodObject<{
                methods: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
                    id: z.ZodString;
                    enabled: z.ZodBoolean;
                }, z.core.$strip>>>>;
                requiredProviders: z.ZodArray<z.ZodString>;
            }, z.core.$strip>;
            recovery: z.ZodObject<{
                providerReset: z.ZodObject<{
                    providers: z.ZodArray<z.ZodString>;
                }, z.core.$strip>;
            }, z.core.$strip>;
            ui: z.ZodObject<{
                autoRedirect: z.ZodObject<{
                    enabled: z.ZodBoolean;
                    providerId: z.ZodNullable<z.ZodString>;
                }, z.core.$strip>;
            }, z.core.$strip>;
            providers: z.ZodRecord<z.ZodString, z.ZodObject<{
                enabled: z.ZodBoolean;
                configured: z.ZodBoolean;
                ui: z.ZodOptional<z.ZodObject<{
                    displayName: z.ZodString;
                    iconHint: z.ZodOptional<z.ZodNullable<z.ZodString>>;
                    connectButtonColor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
                    supportsProfileBadge: z.ZodOptional<z.ZodBoolean>;
                    badgeIconName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
                }, z.core.$strip>>;
                restrictions: z.ZodObject<{
                    usersAllowlist: z.ZodBoolean;
                    orgsAllowlist: z.ZodBoolean;
                    orgMatch: z.ZodEnum<{
                        all: "all";
                        any: "any";
                    }>;
                }, z.core.$strip>;
                offboarding: z.ZodObject<{
                    enabled: z.ZodBoolean;
                    intervalSeconds: z.ZodNumber;
                    mode: z.ZodEnum<{
                        "per-request-cache": "per-request-cache";
                    }>;
                    source: z.ZodString;
                }, z.core.$strip>;
            }, z.core.$strip>>;
            misconfig: z.ZodArray<z.ZodObject<{
                code: z.ZodString;
                message: z.ZodString;
                kind: z.ZodOptional<z.ZodString>;
                providerId: z.ZodOptional<z.ZodString>;
                envVars: z.ZodOptional<z.ZodArray<z.ZodString>>;
            }, z.core.$strip>>;
            mtls: z.ZodDefault<z.ZodOptional<z.ZodObject<{
                mode: z.ZodEnum<{
                    forwarded: "forwarded";
                    direct: "direct";
                }>;
                autoProvision: z.ZodBoolean;
                identitySource: z.ZodEnum<{
                    san_email: "san_email";
                    san_upn: "san_upn";
                    subject_cn: "subject_cn";
                    fingerprint: "fingerprint";
                }>;
                policy: z.ZodOptional<z.ZodObject<{
                    trustForwardedHeaders: z.ZodBoolean;
                    issuerAllowlist: z.ZodObject<{
                        enabled: z.ZodBoolean;
                        count: z.ZodNumber;
                    }, z.core.$strip>;
                    emailDomainAllowlist: z.ZodObject<{
                        enabled: z.ZodBoolean;
                        count: z.ZodNumber;
                    }, z.core.$strip>;
                }, z.core.$strip>>;
            }, z.core.$strip>>>;
        }, z.core.$strip>>>;
    }, z.core.$strip>;
}, z.core.$strip>>;
export type FeaturesResponse = Readonly<{
    features: FeatureGates;
    capabilities: Capabilities;
}>;
//# sourceMappingURL=featuresResponseSchema.d.ts.map