import { z } from 'zod';
import { type InferProvider } from './capability-definition.js';
declare const UserSummarySchema: z.ZodObject<{
    id: z.ZodString;
    username: z.ZodString;
    isAdmin: z.ZodDefault<z.ZodBoolean>;
    allowedProviders: z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"*">]>;
    allowedDevices: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"*">]>>;
    scopes: z.ZodDefault<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
        type: z.ZodLiteral<"category">;
        target: z.ZodEnum<{
            system: "system";
            device: "device";
        }>;
        access: z.ZodArray<z.ZodEnum<{
            view: "view";
            create: "create";
            delete: "delete";
        }>>;
    }, z.core.$strip>, z.ZodObject<{
        type: z.ZodLiteral<"capability">;
        target: z.ZodString;
        access: z.ZodArray<z.ZodEnum<{
            view: "view";
            create: "create";
            delete: "delete";
        }>>;
    }, z.core.$strip>, z.ZodObject<{
        type: z.ZodLiteral<"addon">;
        target: z.ZodString;
        access: z.ZodArray<z.ZodEnum<{
            view: "view";
            create: "create";
            delete: "delete";
        }>>;
    }, z.core.$strip>, z.ZodObject<{
        type: z.ZodLiteral<"device">;
        targets: z.ZodArray<z.ZodString>;
        access: z.ZodArray<z.ZodEnum<{
            view: "view";
            create: "create";
            delete: "delete";
        }>>;
    }, z.core.$strip>], "type">>>;
    createdAt: z.ZodNumber;
    updatedAt: z.ZodNumber;
}, z.core.$strip>;
declare const CreateUserInputSchema: z.ZodObject<{
    username: z.ZodString;
    password: z.ZodString;
    isAdmin: z.ZodDefault<z.ZodBoolean>;
    allowedProviders: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"*">]>>;
    allowedDevices: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"*">]>>>;
    scopes: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
        type: z.ZodLiteral<"category">;
        target: z.ZodEnum<{
            system: "system";
            device: "device";
        }>;
        access: z.ZodArray<z.ZodEnum<{
            view: "view";
            create: "create";
            delete: "delete";
        }>>;
    }, z.core.$strip>, z.ZodObject<{
        type: z.ZodLiteral<"capability">;
        target: z.ZodString;
        access: z.ZodArray<z.ZodEnum<{
            view: "view";
            create: "create";
            delete: "delete";
        }>>;
    }, z.core.$strip>, z.ZodObject<{
        type: z.ZodLiteral<"addon">;
        target: z.ZodString;
        access: z.ZodArray<z.ZodEnum<{
            view: "view";
            create: "create";
            delete: "delete";
        }>>;
    }, z.core.$strip>, z.ZodObject<{
        type: z.ZodLiteral<"device">;
        targets: z.ZodArray<z.ZodString>;
        access: z.ZodArray<z.ZodEnum<{
            view: "view";
            create: "create";
            delete: "delete";
        }>>;
    }, z.core.$strip>], "type">>>;
}, z.core.$strip>;
declare const UpdateUserInputSchema: z.ZodObject<{
    id: z.ZodString;
    isAdmin: z.ZodOptional<z.ZodBoolean>;
    allowedProviders: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"*">]>>;
    allowedDevices: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"*">]>>>;
    scopes: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
        type: z.ZodLiteral<"category">;
        target: z.ZodEnum<{
            system: "system";
            device: "device";
        }>;
        access: z.ZodArray<z.ZodEnum<{
            view: "view";
            create: "create";
            delete: "delete";
        }>>;
    }, z.core.$strip>, z.ZodObject<{
        type: z.ZodLiteral<"capability">;
        target: z.ZodString;
        access: z.ZodArray<z.ZodEnum<{
            view: "view";
            create: "create";
            delete: "delete";
        }>>;
    }, z.core.$strip>, z.ZodObject<{
        type: z.ZodLiteral<"addon">;
        target: z.ZodString;
        access: z.ZodArray<z.ZodEnum<{
            view: "view";
            create: "create";
            delete: "delete";
        }>>;
    }, z.core.$strip>, z.ZodObject<{
        type: z.ZodLiteral<"device">;
        targets: z.ZodArray<z.ZodString>;
        access: z.ZodArray<z.ZodEnum<{
            view: "view";
            create: "create";
            delete: "delete";
        }>>;
    }, z.core.$strip>], "type">>>;
}, z.core.$strip>;
declare const ApiKeySummarySchema: z.ZodObject<{
    id: z.ZodString;
    label: z.ZodString;
    isAdmin: z.ZodDefault<z.ZodBoolean>;
    allowedProviders: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"*">]>>;
    allowedDevices: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"*">]>>>;
    tokenPrefix: z.ZodString;
    createdAt: z.ZodNumber;
    lastUsedAt: z.ZodOptional<z.ZodNumber>;
}, z.core.$strip>;
declare const CreateApiKeyInputSchema: z.ZodObject<{
    label: z.ZodString;
    isAdmin: z.ZodDefault<z.ZodBoolean>;
    allowedProviders: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"*">]>>;
    allowedDevices: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"*">]>>>;
}, z.core.$strip>;
declare const CreateApiKeyResultSchema: z.ZodObject<{
    token: z.ZodString;
    record: z.ZodObject<{
        id: z.ZodString;
        label: z.ZodString;
        isAdmin: z.ZodDefault<z.ZodBoolean>;
        allowedProviders: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"*">]>>;
        allowedDevices: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"*">]>>>;
        tokenPrefix: z.ZodString;
        createdAt: z.ZodNumber;
        lastUsedAt: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strip>;
}, z.core.$strip>;
declare const ScopedTokenSummarySchema: z.ZodObject<{
    id: z.ZodString;
    userId: z.ZodString;
    name: z.ZodString;
    tokenPrefix: z.ZodString;
    scopes: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
        type: z.ZodLiteral<"category">;
        target: z.ZodEnum<{
            system: "system";
            device: "device";
        }>;
        access: z.ZodArray<z.ZodEnum<{
            view: "view";
            create: "create";
            delete: "delete";
        }>>;
    }, z.core.$strip>, z.ZodObject<{
        type: z.ZodLiteral<"capability">;
        target: z.ZodString;
        access: z.ZodArray<z.ZodEnum<{
            view: "view";
            create: "create";
            delete: "delete";
        }>>;
    }, z.core.$strip>, z.ZodObject<{
        type: z.ZodLiteral<"addon">;
        target: z.ZodString;
        access: z.ZodArray<z.ZodEnum<{
            view: "view";
            create: "create";
            delete: "delete";
        }>>;
    }, z.core.$strip>, z.ZodObject<{
        type: z.ZodLiteral<"device">;
        targets: z.ZodArray<z.ZodString>;
        access: z.ZodArray<z.ZodEnum<{
            view: "view";
            create: "create";
            delete: "delete";
        }>>;
    }, z.core.$strip>], "type">>;
    expiresAt: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
    lastUsedAt: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
    createdAt: z.ZodNumber;
}, z.core.$strip>;
declare const CreateScopedTokenInputSchema: z.ZodObject<{
    userId: z.ZodString;
    name: z.ZodString;
    scopes: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
        type: z.ZodLiteral<"category">;
        target: z.ZodEnum<{
            system: "system";
            device: "device";
        }>;
        access: z.ZodArray<z.ZodEnum<{
            view: "view";
            create: "create";
            delete: "delete";
        }>>;
    }, z.core.$strip>, z.ZodObject<{
        type: z.ZodLiteral<"capability">;
        target: z.ZodString;
        access: z.ZodArray<z.ZodEnum<{
            view: "view";
            create: "create";
            delete: "delete";
        }>>;
    }, z.core.$strip>, z.ZodObject<{
        type: z.ZodLiteral<"addon">;
        target: z.ZodString;
        access: z.ZodArray<z.ZodEnum<{
            view: "view";
            create: "create";
            delete: "delete";
        }>>;
    }, z.core.$strip>, z.ZodObject<{
        type: z.ZodLiteral<"device">;
        targets: z.ZodArray<z.ZodString>;
        access: z.ZodArray<z.ZodEnum<{
            view: "view";
            create: "create";
            delete: "delete";
        }>>;
    }, z.core.$strip>], "type">>;
    expiresAt: z.ZodOptional<z.ZodNumber>;
}, z.core.$strip>;
declare const CreateScopedTokenResultSchema: z.ZodObject<{
    token: z.ZodString;
    record: z.ZodObject<{
        id: z.ZodString;
        userId: z.ZodString;
        name: z.ZodString;
        tokenPrefix: z.ZodString;
        scopes: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
            type: z.ZodLiteral<"category">;
            target: z.ZodEnum<{
                system: "system";
                device: "device";
            }>;
            access: z.ZodArray<z.ZodEnum<{
                view: "view";
                create: "create";
                delete: "delete";
            }>>;
        }, z.core.$strip>, z.ZodObject<{
            type: z.ZodLiteral<"capability">;
            target: z.ZodString;
            access: z.ZodArray<z.ZodEnum<{
                view: "view";
                create: "create";
                delete: "delete";
            }>>;
        }, z.core.$strip>, z.ZodObject<{
            type: z.ZodLiteral<"addon">;
            target: z.ZodString;
            access: z.ZodArray<z.ZodEnum<{
                view: "view";
                create: "create";
                delete: "delete";
            }>>;
        }, z.core.$strip>, z.ZodObject<{
            type: z.ZodLiteral<"device">;
            targets: z.ZodArray<z.ZodString>;
            access: z.ZodArray<z.ZodEnum<{
                view: "view";
                create: "create";
                delete: "delete";
            }>>;
        }, z.core.$strip>], "type">>;
        expiresAt: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
        lastUsedAt: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
        createdAt: z.ZodNumber;
    }, z.core.$strip>;
}, z.core.$strip>;
/**
 * user-management — singleton capability for user accounts, API keys,
 * and scoped tokens.
 *
 * v2 model: every method gated by `auth: 'admin'`. Admin-only delegation
 * — the subset check on `setUserScopes` / `createScopedToken` is moot
 * because non-admins never reach these. If/when we open non-admin
 * delegation, structural caller-scope subset check goes inside the
 * provider.
 */
export declare const userManagementCapability: {
    readonly name: "user-management";
    readonly scope: "system";
    readonly mode: "singleton";
    readonly methods: {
        readonly listUsers: import("./capability-definition.js").CapabilityMethodSchema<z.ZodVoid, z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            username: z.ZodString;
            isAdmin: z.ZodDefault<z.ZodBoolean>;
            allowedProviders: z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"*">]>;
            allowedDevices: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"*">]>>;
            scopes: z.ZodDefault<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
                type: z.ZodLiteral<"category">;
                target: z.ZodEnum<{
                    system: "system";
                    device: "device";
                }>;
                access: z.ZodArray<z.ZodEnum<{
                    view: "view";
                    create: "create";
                    delete: "delete";
                }>>;
            }, z.core.$strip>, z.ZodObject<{
                type: z.ZodLiteral<"capability">;
                target: z.ZodString;
                access: z.ZodArray<z.ZodEnum<{
                    view: "view";
                    create: "create";
                    delete: "delete";
                }>>;
            }, z.core.$strip>, z.ZodObject<{
                type: z.ZodLiteral<"addon">;
                target: z.ZodString;
                access: z.ZodArray<z.ZodEnum<{
                    view: "view";
                    create: "create";
                    delete: "delete";
                }>>;
            }, z.core.$strip>, z.ZodObject<{
                type: z.ZodLiteral<"device">;
                targets: z.ZodArray<z.ZodString>;
                access: z.ZodArray<z.ZodEnum<{
                    view: "view";
                    create: "create";
                    delete: "delete";
                }>>;
            }, z.core.$strip>], "type">>>;
            createdAt: z.ZodNumber;
            updatedAt: z.ZodNumber;
        }, z.core.$strip>>, import("./capability-definition.js").CapabilityMethodKind>;
        readonly createUser: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
            username: z.ZodString;
            password: z.ZodString;
            isAdmin: z.ZodDefault<z.ZodBoolean>;
            allowedProviders: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"*">]>>;
            allowedDevices: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"*">]>>>;
            scopes: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
                type: z.ZodLiteral<"category">;
                target: z.ZodEnum<{
                    system: "system";
                    device: "device";
                }>;
                access: z.ZodArray<z.ZodEnum<{
                    view: "view";
                    create: "create";
                    delete: "delete";
                }>>;
            }, z.core.$strip>, z.ZodObject<{
                type: z.ZodLiteral<"capability">;
                target: z.ZodString;
                access: z.ZodArray<z.ZodEnum<{
                    view: "view";
                    create: "create";
                    delete: "delete";
                }>>;
            }, z.core.$strip>, z.ZodObject<{
                type: z.ZodLiteral<"addon">;
                target: z.ZodString;
                access: z.ZodArray<z.ZodEnum<{
                    view: "view";
                    create: "create";
                    delete: "delete";
                }>>;
            }, z.core.$strip>, z.ZodObject<{
                type: z.ZodLiteral<"device">;
                targets: z.ZodArray<z.ZodString>;
                access: z.ZodArray<z.ZodEnum<{
                    view: "view";
                    create: "create";
                    delete: "delete";
                }>>;
            }, z.core.$strip>], "type">>>;
        }, z.core.$strip>, z.ZodObject<{
            id: z.ZodString;
            username: z.ZodString;
            isAdmin: z.ZodDefault<z.ZodBoolean>;
            allowedProviders: z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"*">]>;
            allowedDevices: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"*">]>>;
            scopes: z.ZodDefault<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
                type: z.ZodLiteral<"category">;
                target: z.ZodEnum<{
                    system: "system";
                    device: "device";
                }>;
                access: z.ZodArray<z.ZodEnum<{
                    view: "view";
                    create: "create";
                    delete: "delete";
                }>>;
            }, z.core.$strip>, z.ZodObject<{
                type: z.ZodLiteral<"capability">;
                target: z.ZodString;
                access: z.ZodArray<z.ZodEnum<{
                    view: "view";
                    create: "create";
                    delete: "delete";
                }>>;
            }, z.core.$strip>, z.ZodObject<{
                type: z.ZodLiteral<"addon">;
                target: z.ZodString;
                access: z.ZodArray<z.ZodEnum<{
                    view: "view";
                    create: "create";
                    delete: "delete";
                }>>;
            }, z.core.$strip>, z.ZodObject<{
                type: z.ZodLiteral<"device">;
                targets: z.ZodArray<z.ZodString>;
                access: z.ZodArray<z.ZodEnum<{
                    view: "view";
                    create: "create";
                    delete: "delete";
                }>>;
            }, z.core.$strip>], "type">>>;
            createdAt: z.ZodNumber;
            updatedAt: z.ZodNumber;
        }, z.core.$strip>, "mutation">;
        readonly updateUser: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
            id: z.ZodString;
            isAdmin: z.ZodOptional<z.ZodBoolean>;
            allowedProviders: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"*">]>>;
            allowedDevices: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"*">]>>>;
            scopes: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
                type: z.ZodLiteral<"category">;
                target: z.ZodEnum<{
                    system: "system";
                    device: "device";
                }>;
                access: z.ZodArray<z.ZodEnum<{
                    view: "view";
                    create: "create";
                    delete: "delete";
                }>>;
            }, z.core.$strip>, z.ZodObject<{
                type: z.ZodLiteral<"capability">;
                target: z.ZodString;
                access: z.ZodArray<z.ZodEnum<{
                    view: "view";
                    create: "create";
                    delete: "delete";
                }>>;
            }, z.core.$strip>, z.ZodObject<{
                type: z.ZodLiteral<"addon">;
                target: z.ZodString;
                access: z.ZodArray<z.ZodEnum<{
                    view: "view";
                    create: "create";
                    delete: "delete";
                }>>;
            }, z.core.$strip>, z.ZodObject<{
                type: z.ZodLiteral<"device">;
                targets: z.ZodArray<z.ZodString>;
                access: z.ZodArray<z.ZodEnum<{
                    view: "view";
                    create: "create";
                    delete: "delete";
                }>>;
            }, z.core.$strip>], "type">>>;
        }, z.core.$strip>, z.ZodObject<{
            success: z.ZodLiteral<true>;
        }, z.core.$strip>, "mutation">;
        readonly deleteUser: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
            id: z.ZodString;
        }, z.core.$strip>, z.ZodObject<{
            success: z.ZodLiteral<true>;
        }, z.core.$strip>, "mutation">;
        readonly resetPassword: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
            id: z.ZodString;
            newPassword: z.ZodString;
        }, z.core.$strip>, z.ZodObject<{
            success: z.ZodLiteral<true>;
        }, z.core.$strip>, "mutation">;
        readonly setUserScopes: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
            userId: z.ZodString;
            scopes: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
                type: z.ZodLiteral<"category">;
                target: z.ZodEnum<{
                    system: "system";
                    device: "device";
                }>;
                access: z.ZodArray<z.ZodEnum<{
                    view: "view";
                    create: "create";
                    delete: "delete";
                }>>;
            }, z.core.$strip>, z.ZodObject<{
                type: z.ZodLiteral<"capability">;
                target: z.ZodString;
                access: z.ZodArray<z.ZodEnum<{
                    view: "view";
                    create: "create";
                    delete: "delete";
                }>>;
            }, z.core.$strip>, z.ZodObject<{
                type: z.ZodLiteral<"addon">;
                target: z.ZodString;
                access: z.ZodArray<z.ZodEnum<{
                    view: "view";
                    create: "create";
                    delete: "delete";
                }>>;
            }, z.core.$strip>, z.ZodObject<{
                type: z.ZodLiteral<"device">;
                targets: z.ZodArray<z.ZodString>;
                access: z.ZodArray<z.ZodEnum<{
                    view: "view";
                    create: "create";
                    delete: "delete";
                }>>;
            }, z.core.$strip>], "type">>;
        }, z.core.$strip>, z.ZodObject<{
            success: z.ZodLiteral<true>;
        }, z.core.$strip>, "mutation">;
        readonly validateCredentials: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
            username: z.ZodString;
            password: z.ZodString;
        }, z.core.$strip>, z.ZodNullable<z.ZodObject<{
            id: z.ZodString;
            username: z.ZodString;
            isAdmin: z.ZodDefault<z.ZodBoolean>;
            allowedProviders: z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"*">]>;
            allowedDevices: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"*">]>>;
            scopes: z.ZodDefault<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
                type: z.ZodLiteral<"category">;
                target: z.ZodEnum<{
                    system: "system";
                    device: "device";
                }>;
                access: z.ZodArray<z.ZodEnum<{
                    view: "view";
                    create: "create";
                    delete: "delete";
                }>>;
            }, z.core.$strip>, z.ZodObject<{
                type: z.ZodLiteral<"capability">;
                target: z.ZodString;
                access: z.ZodArray<z.ZodEnum<{
                    view: "view";
                    create: "create";
                    delete: "delete";
                }>>;
            }, z.core.$strip>, z.ZodObject<{
                type: z.ZodLiteral<"addon">;
                target: z.ZodString;
                access: z.ZodArray<z.ZodEnum<{
                    view: "view";
                    create: "create";
                    delete: "delete";
                }>>;
            }, z.core.$strip>, z.ZodObject<{
                type: z.ZodLiteral<"device">;
                targets: z.ZodArray<z.ZodString>;
                access: z.ZodArray<z.ZodEnum<{
                    view: "view";
                    create: "create";
                    delete: "delete";
                }>>;
            }, z.core.$strip>], "type">>>;
            createdAt: z.ZodNumber;
            updatedAt: z.ZodNumber;
            passwordHash: z.ZodString;
        }, z.core.$strip>>, "mutation">;
        readonly listApiKeys: import("./capability-definition.js").CapabilityMethodSchema<z.ZodVoid, z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            label: z.ZodString;
            isAdmin: z.ZodDefault<z.ZodBoolean>;
            allowedProviders: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"*">]>>;
            allowedDevices: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"*">]>>>;
            tokenPrefix: z.ZodString;
            createdAt: z.ZodNumber;
            lastUsedAt: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strip>>, import("./capability-definition.js").CapabilityMethodKind>;
        readonly createApiKey: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
            label: z.ZodString;
            isAdmin: z.ZodDefault<z.ZodBoolean>;
            allowedProviders: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"*">]>>;
            allowedDevices: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"*">]>>>;
        }, z.core.$strip>, z.ZodObject<{
            token: z.ZodString;
            record: z.ZodObject<{
                id: z.ZodString;
                label: z.ZodString;
                isAdmin: z.ZodDefault<z.ZodBoolean>;
                allowedProviders: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"*">]>>;
                allowedDevices: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"*">]>>>;
                tokenPrefix: z.ZodString;
                createdAt: z.ZodNumber;
                lastUsedAt: z.ZodOptional<z.ZodNumber>;
            }, z.core.$strip>;
        }, z.core.$strip>, "mutation">;
        readonly revokeApiKey: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
            id: z.ZodString;
        }, z.core.$strip>, z.ZodObject<{
            success: z.ZodLiteral<true>;
        }, z.core.$strip>, "mutation">;
        readonly validateApiKey: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
            token: z.ZodString;
        }, z.core.$strip>, z.ZodNullable<z.ZodObject<{
            id: z.ZodString;
            label: z.ZodString;
            isAdmin: z.ZodDefault<z.ZodBoolean>;
            allowedProviders: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"*">]>>;
            allowedDevices: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"*">]>>>;
            tokenPrefix: z.ZodString;
            createdAt: z.ZodNumber;
            lastUsedAt: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strip>>, "mutation">;
        readonly createScopedToken: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
            userId: z.ZodString;
            name: z.ZodString;
            scopes: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
                type: z.ZodLiteral<"category">;
                target: z.ZodEnum<{
                    system: "system";
                    device: "device";
                }>;
                access: z.ZodArray<z.ZodEnum<{
                    view: "view";
                    create: "create";
                    delete: "delete";
                }>>;
            }, z.core.$strip>, z.ZodObject<{
                type: z.ZodLiteral<"capability">;
                target: z.ZodString;
                access: z.ZodArray<z.ZodEnum<{
                    view: "view";
                    create: "create";
                    delete: "delete";
                }>>;
            }, z.core.$strip>, z.ZodObject<{
                type: z.ZodLiteral<"addon">;
                target: z.ZodString;
                access: z.ZodArray<z.ZodEnum<{
                    view: "view";
                    create: "create";
                    delete: "delete";
                }>>;
            }, z.core.$strip>, z.ZodObject<{
                type: z.ZodLiteral<"device">;
                targets: z.ZodArray<z.ZodString>;
                access: z.ZodArray<z.ZodEnum<{
                    view: "view";
                    create: "create";
                    delete: "delete";
                }>>;
            }, z.core.$strip>], "type">>;
            expiresAt: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strip>, z.ZodObject<{
            token: z.ZodString;
            record: z.ZodObject<{
                id: z.ZodString;
                userId: z.ZodString;
                name: z.ZodString;
                tokenPrefix: z.ZodString;
                scopes: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"category">;
                    target: z.ZodEnum<{
                        system: "system";
                        device: "device";
                    }>;
                    access: z.ZodArray<z.ZodEnum<{
                        view: "view";
                        create: "create";
                        delete: "delete";
                    }>>;
                }, z.core.$strip>, z.ZodObject<{
                    type: z.ZodLiteral<"capability">;
                    target: z.ZodString;
                    access: z.ZodArray<z.ZodEnum<{
                        view: "view";
                        create: "create";
                        delete: "delete";
                    }>>;
                }, z.core.$strip>, z.ZodObject<{
                    type: z.ZodLiteral<"addon">;
                    target: z.ZodString;
                    access: z.ZodArray<z.ZodEnum<{
                        view: "view";
                        create: "create";
                        delete: "delete";
                    }>>;
                }, z.core.$strip>, z.ZodObject<{
                    type: z.ZodLiteral<"device">;
                    targets: z.ZodArray<z.ZodString>;
                    access: z.ZodArray<z.ZodEnum<{
                        view: "view";
                        create: "create";
                        delete: "delete";
                    }>>;
                }, z.core.$strip>], "type">>;
                expiresAt: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
                lastUsedAt: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
                createdAt: z.ZodNumber;
            }, z.core.$strip>;
        }, z.core.$strip>, "mutation">;
        readonly revokeScopedToken: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
            id: z.ZodString;
        }, z.core.$strip>, z.ZodObject<{
            success: z.ZodLiteral<true>;
        }, z.core.$strip>, "mutation">;
        readonly validateScopedToken: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
            token: z.ZodString;
        }, z.core.$strip>, z.ZodNullable<z.ZodObject<{
            id: z.ZodString;
            userId: z.ZodString;
            name: z.ZodString;
            tokenPrefix: z.ZodString;
            scopes: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
                type: z.ZodLiteral<"category">;
                target: z.ZodEnum<{
                    system: "system";
                    device: "device";
                }>;
                access: z.ZodArray<z.ZodEnum<{
                    view: "view";
                    create: "create";
                    delete: "delete";
                }>>;
            }, z.core.$strip>, z.ZodObject<{
                type: z.ZodLiteral<"capability">;
                target: z.ZodString;
                access: z.ZodArray<z.ZodEnum<{
                    view: "view";
                    create: "create";
                    delete: "delete";
                }>>;
            }, z.core.$strip>, z.ZodObject<{
                type: z.ZodLiteral<"addon">;
                target: z.ZodString;
                access: z.ZodArray<z.ZodEnum<{
                    view: "view";
                    create: "create";
                    delete: "delete";
                }>>;
            }, z.core.$strip>, z.ZodObject<{
                type: z.ZodLiteral<"device">;
                targets: z.ZodArray<z.ZodString>;
                access: z.ZodArray<z.ZodEnum<{
                    view: "view";
                    create: "create";
                    delete: "delete";
                }>>;
            }, z.core.$strip>], "type">>;
            expiresAt: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
            lastUsedAt: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
            createdAt: z.ZodNumber;
        }, z.core.$strip>>, import("./capability-definition.js").CapabilityMethodKind>;
        readonly listScopedTokens: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
            userId: z.ZodString;
        }, z.core.$strip>, z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            userId: z.ZodString;
            name: z.ZodString;
            tokenPrefix: z.ZodString;
            scopes: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
                type: z.ZodLiteral<"category">;
                target: z.ZodEnum<{
                    system: "system";
                    device: "device";
                }>;
                access: z.ZodArray<z.ZodEnum<{
                    view: "view";
                    create: "create";
                    delete: "delete";
                }>>;
            }, z.core.$strip>, z.ZodObject<{
                type: z.ZodLiteral<"capability">;
                target: z.ZodString;
                access: z.ZodArray<z.ZodEnum<{
                    view: "view";
                    create: "create";
                    delete: "delete";
                }>>;
            }, z.core.$strip>, z.ZodObject<{
                type: z.ZodLiteral<"addon">;
                target: z.ZodString;
                access: z.ZodArray<z.ZodEnum<{
                    view: "view";
                    create: "create";
                    delete: "delete";
                }>>;
            }, z.core.$strip>, z.ZodObject<{
                type: z.ZodLiteral<"device">;
                targets: z.ZodArray<z.ZodString>;
                access: z.ZodArray<z.ZodEnum<{
                    view: "view";
                    create: "create";
                    delete: "delete";
                }>>;
            }, z.core.$strip>], "type">>;
            expiresAt: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
            lastUsedAt: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
            createdAt: z.ZodNumber;
        }, z.core.$strip>>, import("./capability-definition.js").CapabilityMethodKind>;
        readonly setupTotp: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
            userId: z.ZodString;
        }, z.core.$strip>, z.ZodObject<{
            secret: z.ZodString;
            otpauthUrl: z.ZodString;
        }, z.core.$strip>, "mutation">;
        readonly confirmTotp: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
            userId: z.ZodString;
            code: z.ZodString;
        }, z.core.$strip>, z.ZodObject<{
            success: z.ZodLiteral<true>;
        }, z.core.$strip>, "mutation">;
        readonly disableTotp: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
            userId: z.ZodString;
        }, z.core.$strip>, z.ZodObject<{
            success: z.ZodLiteral<true>;
        }, z.core.$strip>, "mutation">;
        readonly getTotpStatus: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
            userId: z.ZodString;
        }, z.core.$strip>, z.ZodObject<{
            enabled: z.ZodBoolean;
            confirmedAt: z.ZodNullable<z.ZodNumber>;
        }, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
        readonly verifyTotp: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
            userId: z.ZodString;
            code: z.ZodString;
        }, z.core.$strip>, z.ZodObject<{
            valid: z.ZodBoolean;
        }, z.core.$strip>, "mutation">;
    };
};
export type IUserManagementProvider = InferProvider<typeof userManagementCapability>;
export { UserSummarySchema, CreateUserInputSchema, UpdateUserInputSchema, ApiKeySummarySchema, CreateApiKeyInputSchema, CreateApiKeyResultSchema, ScopedTokenSummarySchema, CreateScopedTokenInputSchema, CreateScopedTokenResultSchema, };
//# sourceMappingURL=user-management.cap.d.ts.map