import { z } from 'zod';
export declare const UserProfileSchema: z.ZodObject<{
    username: z.ZodString;
    email: z.ZodString;
    timezone: z.ZodString;
    email_notifications: z.ZodEffects<z.ZodBoolean, boolean, unknown>;
    restricted: z.ZodEffects<z.ZodBoolean, boolean, unknown>;
    two_factor_auth: z.ZodEffects<z.ZodBoolean, boolean, unknown>;
    referrals: z.ZodObject<{
        total: z.ZodNumber;
        completed: z.ZodNumber;
        pending: z.ZodNumber;
        credit: z.ZodNumber;
        code: z.ZodString;
        url: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        code: string;
        pending: number;
        url: string;
        total: number;
        completed: number;
        credit: number;
    }, {
        code: string;
        pending: number;
        url: string;
        total: number;
        completed: number;
        credit: number;
    }>;
    authorized_keys: z.ZodArray<z.ZodString, "many">;
}, "strip", z.ZodTypeAny, {
    authorized_keys: string[];
    email: string;
    username: string;
    timezone: string;
    email_notifications: boolean;
    restricted: boolean;
    two_factor_auth: boolean;
    referrals: {
        code: string;
        pending: number;
        url: string;
        total: number;
        completed: number;
        credit: number;
    };
}, {
    authorized_keys: string[];
    email: string;
    username: string;
    timezone: string;
    referrals: {
        code: string;
        pending: number;
        url: string;
        total: number;
        completed: number;
        credit: number;
    };
    email_notifications?: unknown;
    restricted?: unknown;
    two_factor_auth?: unknown;
}>;
export declare const getProfileSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
export declare const updateProfileSchema: z.ZodObject<{
    email: z.ZodOptional<z.ZodString>;
    timezone: z.ZodOptional<z.ZodString>;
    email_notifications: z.ZodOptional<z.ZodEffects<z.ZodBoolean, boolean, unknown>>;
    restricted: z.ZodOptional<z.ZodEffects<z.ZodBoolean, boolean, unknown>>;
}, "strip", z.ZodTypeAny, {
    email?: string | undefined;
    timezone?: string | undefined;
    email_notifications?: boolean | undefined;
    restricted?: boolean | undefined;
}, {
    email?: string | undefined;
    timezone?: string | undefined;
    email_notifications?: unknown;
    restricted?: unknown;
}>;
export declare const SSHKeySchema: z.ZodObject<{
    id: z.ZodNumber;
    label: z.ZodString;
    ssh_key: z.ZodString;
    created: z.ZodString;
}, "strip", z.ZodTypeAny, {
    label: string;
    id: number;
    created: string;
    ssh_key: string;
}, {
    label: string;
    id: number;
    created: string;
    ssh_key: string;
}>;
export declare const listSSHKeysSchema: z.ZodObject<{
    page: z.ZodOptional<z.ZodNumber>;
    page_size: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    page?: number | undefined;
    page_size?: number | undefined;
}, {
    page?: number | undefined;
    page_size?: number | undefined;
}>;
export declare const getSSHKeySchema: z.ZodObject<{
    id: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    id: number;
}, {
    id: number;
}>;
export declare const createSSHKeySchema: z.ZodObject<{
    label: z.ZodString;
    ssh_key: z.ZodString;
}, "strip", z.ZodTypeAny, {
    label: string;
    ssh_key: string;
}, {
    label: string;
    ssh_key: string;
}>;
export declare const updateSSHKeySchema: z.ZodObject<{
    id: z.ZodNumber;
    label: z.ZodString;
}, "strip", z.ZodTypeAny, {
    label: string;
    id: number;
}, {
    label: string;
    id: number;
}>;
export declare const deleteSSHKeySchema: z.ZodObject<{
    id: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    id: number;
}, {
    id: number;
}>;
export declare const APITokenSchema: z.ZodObject<{
    id: z.ZodNumber;
    label: z.ZodString;
    created: z.ZodString;
    expiry: z.ZodNullable<z.ZodString>;
    token: z.ZodOptional<z.ZodString>;
    scopes: z.ZodArray<z.ZodString, "many">;
    website: z.ZodOptional<z.ZodString>;
    thumbnail_url: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    label: string;
    id: number;
    created: string;
    expiry: string | null;
    scopes: string[];
    token?: string | undefined;
    website?: string | undefined;
    thumbnail_url?: string | undefined;
}, {
    label: string;
    id: number;
    created: string;
    expiry: string | null;
    scopes: string[];
    token?: string | undefined;
    website?: string | undefined;
    thumbnail_url?: string | undefined;
}>;
export declare const listAPITokensSchema: z.ZodObject<{
    page: z.ZodOptional<z.ZodNumber>;
    page_size: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    page?: number | undefined;
    page_size?: number | undefined;
}, {
    page?: number | undefined;
    page_size?: number | undefined;
}>;
export declare const getAPITokenSchema: z.ZodObject<{
    id: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    id: number;
}, {
    id: number;
}>;
export declare const createPersonalAccessTokenSchema: z.ZodObject<{
    label: z.ZodString;
    expiry: z.ZodOptional<z.ZodString>;
    scopes: z.ZodEffects<z.ZodArray<z.ZodString, "many">, string[], unknown>;
}, "strip", z.ZodTypeAny, {
    label: string;
    scopes: string[];
    expiry?: string | undefined;
}, {
    label: string;
    expiry?: string | undefined;
    scopes?: unknown;
}>;
export declare const updateTokenSchema: z.ZodObject<{
    id: z.ZodNumber;
    label: z.ZodOptional<z.ZodString>;
    expiry: z.ZodOptional<z.ZodString>;
    scopes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
    id: number;
    label?: string | undefined;
    expiry?: string | undefined;
    scopes?: string[] | undefined;
}, {
    id: number;
    label?: string | undefined;
    expiry?: string | undefined;
    scopes?: string[] | undefined;
}>;
export declare const deleteTokenSchema: z.ZodObject<{
    id: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    id: number;
}, {
    id: number;
}>;
export declare const TwoFactorResponseSchema: z.ZodObject<{
    secret: z.ZodString;
    service_name: z.ZodString;
    qr_code: z.ZodString;
}, "strip", z.ZodTypeAny, {
    secret: string;
    service_name: string;
    qr_code: string;
}, {
    secret: string;
    service_name: string;
    qr_code: string;
}>;
export declare const getTwoFactorSecretSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
export declare const enableTwoFactorSchema: z.ZodObject<{
    tfa_code: z.ZodString;
    scratch_code: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    tfa_code: string;
    scratch_code?: string | undefined;
}, {
    tfa_code: string;
    scratch_code?: string | undefined;
}>;
export declare const disableTwoFactorSchema: z.ZodObject<{
    tfa_code: z.ZodString;
}, "strip", z.ZodTypeAny, {
    tfa_code: string;
}, {
    tfa_code: string;
}>;
export interface ScopeDefinition {
    name: string;
    description: string;
    category: string;
}
export declare const API_SCOPES: ScopeDefinition[];
export declare const ScopeSchema: z.ZodObject<{
    name: z.ZodString;
    description: z.ZodString;
    category: z.ZodString;
}, "strip", z.ZodTypeAny, {
    name: string;
    description: string;
    category: string;
}, {
    name: string;
    description: string;
    category: string;
}>;
export declare const listAPIScopesSchema: z.ZodObject<{
    category: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    category?: string | undefined;
}, {
    category?: string | undefined;
}>;
export declare const ScopeListResponseSchema: z.ZodObject<{
    scopes: z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        description: z.ZodString;
        category: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        name: string;
        description: string;
        category: string;
    }, {
        name: string;
        description: string;
        category: string;
    }>, "many">;
}, "strip", z.ZodTypeAny, {
    scopes: {
        name: string;
        description: string;
        category: string;
    }[];
}, {
    scopes: {
        name: string;
        description: string;
        category: string;
    }[];
}>;
export declare const AuthorizedAppSchema: z.ZodObject<{
    id: z.ZodNumber;
    label: z.ZodString;
    thumbnail_url: z.ZodString;
    access: z.ZodString;
    scopes: z.ZodArray<z.ZodString, "many">;
    website: z.ZodString;
    created: z.ZodString;
    expiry: z.ZodString;
}, "strip", z.ZodTypeAny, {
    label: string;
    id: number;
    created: string;
    expiry: string;
    scopes: string[];
    website: string;
    thumbnail_url: string;
    access: string;
}, {
    label: string;
    id: number;
    created: string;
    expiry: string;
    scopes: string[];
    website: string;
    thumbnail_url: string;
    access: string;
}>;
export declare const listAuthorizedAppsSchema: z.ZodObject<{
    page: z.ZodOptional<z.ZodNumber>;
    page_size: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    page?: number | undefined;
    page_size?: number | undefined;
}, {
    page?: number | undefined;
    page_size?: number | undefined;
}>;
export declare const getAuthorizedAppSchema: z.ZodObject<{
    appId: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    appId: number;
}, {
    appId: number;
}>;
export declare const revokeAuthorizedAppSchema: z.ZodObject<{
    appId: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    appId: number;
}, {
    appId: number;
}>;
export declare const TrustedDeviceSchema: z.ZodObject<{
    id: z.ZodNumber;
    user_agent: z.ZodString;
    last_remote_addr: z.ZodString;
    last_authenticated: z.ZodString;
    created: z.ZodString;
    expiry: z.ZodString;
}, "strip", z.ZodTypeAny, {
    id: number;
    created: string;
    expiry: string;
    user_agent: string;
    last_remote_addr: string;
    last_authenticated: string;
}, {
    id: number;
    created: string;
    expiry: string;
    user_agent: string;
    last_remote_addr: string;
    last_authenticated: string;
}>;
export declare const listTrustedDevicesSchema: z.ZodObject<{
    page: z.ZodOptional<z.ZodNumber>;
    page_size: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    page?: number | undefined;
    page_size?: number | undefined;
}, {
    page?: number | undefined;
    page_size?: number | undefined;
}>;
export declare const getTrustedDeviceSchema: z.ZodObject<{
    deviceId: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    deviceId: number;
}, {
    deviceId: number;
}>;
export declare const revokeTrustedDeviceSchema: z.ZodObject<{
    deviceId: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    deviceId: number;
}, {
    deviceId: number;
}>;
export declare const GrantSchema: z.ZodObject<{
    id: z.ZodNumber;
    permissions: z.ZodString;
    label: z.ZodString;
    entity: z.ZodObject<{
        id: z.ZodNumber;
        type: z.ZodString;
        label: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        label: string;
        type: string;
        id: number;
    }, {
        label: string;
        type: string;
        id: number;
    }>;
}, "strip", z.ZodTypeAny, {
    label: string;
    id: number;
    permissions: string;
    entity: {
        label: string;
        type: string;
        id: number;
    };
}, {
    label: string;
    id: number;
    permissions: string;
    entity: {
        label: string;
        type: string;
        id: number;
    };
}>;
export declare const listGrantsSchema: z.ZodObject<{
    page: z.ZodOptional<z.ZodNumber>;
    page_size: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    page?: number | undefined;
    page_size?: number | undefined;
}, {
    page?: number | undefined;
    page_size?: number | undefined;
}>;
export declare const LoginSchema: z.ZodObject<{
    id: z.ZodNumber;
    ip: z.ZodString;
    datetime: z.ZodString;
    username: z.ZodString;
    status: z.ZodString;
}, "strip", z.ZodTypeAny, {
    status: string;
    id: number;
    username: string;
    ip: string;
    datetime: string;
}, {
    status: string;
    id: number;
    username: string;
    ip: string;
    datetime: string;
}>;
export declare const listLoginsSchema: z.ZodObject<{
    page: z.ZodOptional<z.ZodNumber>;
    page_size: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    page?: number | undefined;
    page_size?: number | undefined;
}, {
    page?: number | undefined;
    page_size?: number | undefined;
}>;
export declare const getLoginSchema: z.ZodObject<{
    loginId: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    loginId: number;
}, {
    loginId: number;
}>;
export declare const deletePhoneNumberSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
export declare const sendPhoneVerificationSchema: z.ZodObject<{
    phone_number: z.ZodString;
}, "strip", z.ZodTypeAny, {
    phone_number: string;
}, {
    phone_number: string;
}>;
export declare const verifyPhoneNumberSchema: z.ZodObject<{
    otp_code: z.ZodString;
}, "strip", z.ZodTypeAny, {
    otp_code: string;
}, {
    otp_code: string;
}>;
export declare const UserPreferencesSchema: z.ZodObject<{
    sortKeys: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    timezone: z.ZodOptional<z.ZodString>;
    email_notifications: z.ZodOptional<z.ZodEffects<z.ZodBoolean, boolean, unknown>>;
    default_from_email: z.ZodOptional<z.ZodString>;
    authorized_keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    theme: z.ZodOptional<z.ZodString>;
    editorMode: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    authorized_keys?: string[] | undefined;
    theme?: string | undefined;
    timezone?: string | undefined;
    email_notifications?: boolean | undefined;
    sortKeys?: Record<string, string> | undefined;
    default_from_email?: string | undefined;
    editorMode?: string | undefined;
}, {
    authorized_keys?: string[] | undefined;
    theme?: string | undefined;
    timezone?: string | undefined;
    email_notifications?: unknown;
    sortKeys?: Record<string, string> | undefined;
    default_from_email?: string | undefined;
    editorMode?: string | undefined;
}>;
export declare const getUserPreferencesSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
export declare const updateUserPreferencesSchema: z.ZodObject<{
    sortKeys: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    timezone: z.ZodOptional<z.ZodString>;
    email_notifications: z.ZodOptional<z.ZodEffects<z.ZodBoolean, boolean, unknown>>;
    default_from_email: z.ZodOptional<z.ZodString>;
    authorized_keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    theme: z.ZodOptional<z.ZodString>;
    editorMode: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    authorized_keys?: string[] | undefined;
    theme?: string | undefined;
    timezone?: string | undefined;
    email_notifications?: boolean | undefined;
    sortKeys?: Record<string, string> | undefined;
    default_from_email?: string | undefined;
    editorMode?: string | undefined;
}, {
    authorized_keys?: string[] | undefined;
    theme?: string | undefined;
    timezone?: string | undefined;
    email_notifications?: unknown;
    sortKeys?: Record<string, string> | undefined;
    default_from_email?: string | undefined;
    editorMode?: string | undefined;
}>;
export declare const SecurityQuestionSchema: z.ZodObject<{
    id: z.ZodNumber;
    question: z.ZodString;
}, "strip", z.ZodTypeAny, {
    id: number;
    question: string;
}, {
    id: number;
    question: string;
}>;
export declare const getSecurityQuestionsSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
export declare const answerSecurityQuestionsSchema: z.ZodObject<{
    answers: z.ZodArray<z.ZodObject<{
        question_id: z.ZodNumber;
        answer: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        question_id: number;
        answer: string;
    }, {
        question_id: number;
        answer: string;
    }>, "many">;
}, "strip", z.ZodTypeAny, {
    answers: {
        question_id: number;
        answer: string;
    }[];
}, {
    answers: {
        question_id: number;
        answer: string;
    }[];
}>;
