/**
 * Account RPC action specs — declarative contract for self-service account
 * operations. Import this module for the specs, Input/Output schemas, and
 * the `all_account_action_specs` registry. Handlers live in
 * `auth/account_actions.ts` so consumers doing typed-client codegen or surface
 * reporting don't transitively drag in server-only query code.
 *
 * @module
 */
import { z } from 'zod';
import type { RequestResponseActionSpec } from '../actions/action_spec.js';
/** Input for `account_verify`. No parameters — the caller is the subject. */
export declare const VerifyInput: z.ZodVoid;
export type VerifyInput = z.infer<typeof VerifyInput>;
/** Input for `account_session_list`. No parameters. */
export declare const SessionListInput: z.ZodVoid;
export type SessionListInput = z.infer<typeof SessionListInput>;
/** Output for `account_session_list`. */
export declare const SessionListOutput: z.ZodObject<{
    sessions: z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        account_id: z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">;
        created_at: z.ZodString;
        expires_at: z.ZodString;
        last_seen_at: z.ZodString;
    }, z.core.$strict>>;
}, z.core.$strict>;
export type SessionListOutput = z.infer<typeof SessionListOutput>;
/** Input for `account_session_revoke`. `session_id` is the blake3 hash. */
export declare const SessionRevokeInput: z.ZodObject<{
    session_id: z.ZodString;
}, z.core.$strict>;
export type SessionRevokeInput = z.infer<typeof SessionRevokeInput>;
/** Output for `account_session_revoke`. `revoked` is `false` for IDOR misses. */
export declare const SessionRevokeOutput: z.ZodObject<{
    ok: z.ZodLiteral<true>;
    revoked: z.ZodBoolean;
}, z.core.$strict>;
export type SessionRevokeOutput = z.infer<typeof SessionRevokeOutput>;
/** Input for `account_session_revoke_all`. No parameters. */
export declare const SessionRevokeAllInput: z.ZodVoid;
export type SessionRevokeAllInput = z.infer<typeof SessionRevokeAllInput>;
/** Output for `account_session_revoke_all`. */
export declare const SessionRevokeAllOutput: z.ZodObject<{
    ok: z.ZodLiteral<true>;
    count: z.ZodNumber;
}, z.core.$strict>;
export type SessionRevokeAllOutput = z.infer<typeof SessionRevokeAllOutput>;
/** Input for `account_token_create`. */
export declare const TokenCreateInput: z.ZodPrefault<z.ZodObject<{
    name: z.ZodDefault<z.ZodString>;
}, z.core.$strict>>;
export type TokenCreateInput = z.infer<typeof TokenCreateInput>;
/** Output for `account_token_create`. `token` is returned exactly once. */
export declare const TokenCreateOutput: z.ZodObject<{
    ok: z.ZodLiteral<true>;
    token: z.ZodString;
    id: z.ZodString;
    name: z.ZodString;
}, z.core.$strict>;
export type TokenCreateOutput = z.infer<typeof TokenCreateOutput>;
/** Input for `account_token_list`. No parameters. */
export declare const TokenListInput: z.ZodVoid;
export type TokenListInput = z.infer<typeof TokenListInput>;
/** Output for `account_token_list`. Hashes are excluded. */
export declare const TokenListOutput: z.ZodObject<{
    tokens: z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        account_id: z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">;
        name: z.ZodString;
        expires_at: z.ZodNullable<z.ZodString>;
        last_used_at: z.ZodNullable<z.ZodString>;
        last_used_ip: z.ZodNullable<z.ZodString>;
        created_at: z.ZodString;
    }, z.core.$strict>>;
}, z.core.$strict>;
export type TokenListOutput = z.infer<typeof TokenListOutput>;
/** Input for `account_token_revoke`. */
export declare const TokenRevokeInput: z.ZodObject<{
    token_id: z.ZodString;
}, z.core.$strict>;
export type TokenRevokeInput = z.infer<typeof TokenRevokeInput>;
/** Output for `account_token_revoke`. `revoked` is `false` for IDOR misses. */
export declare const TokenRevokeOutput: z.ZodObject<{
    ok: z.ZodLiteral<true>;
    revoked: z.ZodBoolean;
}, z.core.$strict>;
export type TokenRevokeOutput = z.infer<typeof TokenRevokeOutput>;
export declare const account_verify_action_spec: {
    method: string;
    kind: "request_response";
    initiator: "frontend";
    auth: {
        account: "required";
        actor: "none";
    };
    side_effects: false;
    input: z.ZodVoid;
    output: z.ZodObject<{
        id: z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">;
        username: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
        email: z.ZodNullable<z.ZodEmail>;
        email_verified: z.ZodBoolean;
        created_at: z.ZodString;
    }, z.core.$strict>;
    async: true;
    description: string;
};
export declare const account_session_list_action_spec: {
    method: string;
    kind: "request_response";
    initiator: "frontend";
    auth: {
        account: "required";
        actor: "none";
    };
    side_effects: false;
    input: z.ZodVoid;
    output: z.ZodObject<{
        sessions: z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            account_id: z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">;
            created_at: z.ZodString;
            expires_at: z.ZodString;
            last_seen_at: z.ZodString;
        }, z.core.$strict>>;
    }, z.core.$strict>;
    async: true;
    description: string;
};
export declare const account_session_revoke_action_spec: {
    method: string;
    kind: "request_response";
    initiator: "frontend";
    auth: {
        account: "required";
        actor: "none";
        credential_types: string[];
    };
    side_effects: true;
    input: z.ZodObject<{
        session_id: z.ZodString;
    }, z.core.$strict>;
    output: z.ZodObject<{
        ok: z.ZodLiteral<true>;
        revoked: z.ZodBoolean;
    }, z.core.$strict>;
    async: true;
    description: string;
};
export declare const account_session_revoke_all_action_spec: {
    method: string;
    kind: "request_response";
    initiator: "frontend";
    auth: {
        account: "required";
        actor: "none";
        credential_types: string[];
    };
    side_effects: true;
    input: z.ZodVoid;
    output: z.ZodObject<{
        ok: z.ZodLiteral<true>;
        count: z.ZodNumber;
    }, z.core.$strict>;
    async: true;
    description: string;
};
/**
 * `credential_types: ['session']` — see `docs/security.md` §Credential-channel gating.
 *
 * `rate_limit: 'account'` bounds the burn rate of API-token creates. The
 * outstanding-token count is already capped by `max_tokens` (via
 * `query_api_token_enforce_limit`), but the per-account *rate* of churn
 * is not — without this cap, a caller could rotate tokens in a tight
 * loop to amplify `token_create` audit churn or attempt to provoke
 * downstream rate-limit hot spots.
 */
export declare const account_token_create_action_spec: {
    method: string;
    kind: "request_response";
    initiator: "frontend";
    auth: {
        account: "required";
        actor: "none";
        credential_types: string[];
    };
    side_effects: true;
    input: z.ZodPrefault<z.ZodObject<{
        name: z.ZodDefault<z.ZodString>;
    }, z.core.$strict>>;
    output: z.ZodObject<{
        ok: z.ZodLiteral<true>;
        token: z.ZodString;
        id: z.ZodString;
        name: z.ZodString;
    }, z.core.$strict>;
    async: true;
    description: string;
    rate_limit: "account";
};
export declare const account_token_list_action_spec: {
    method: string;
    kind: "request_response";
    initiator: "frontend";
    auth: {
        account: "required";
        actor: "none";
    };
    side_effects: false;
    input: z.ZodVoid;
    output: z.ZodObject<{
        tokens: z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            account_id: z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">;
            name: z.ZodString;
            expires_at: z.ZodNullable<z.ZodString>;
            last_used_at: z.ZodNullable<z.ZodString>;
            last_used_ip: z.ZodNullable<z.ZodString>;
            created_at: z.ZodString;
        }, z.core.$strict>>;
    }, z.core.$strict>;
    async: true;
    description: string;
};
export declare const account_token_revoke_action_spec: {
    method: string;
    kind: "request_response";
    initiator: "frontend";
    auth: {
        account: "required";
        actor: "none";
        credential_types: string[];
    };
    side_effects: true;
    input: z.ZodObject<{
        token_id: z.ZodString;
    }, z.core.$strict>;
    output: z.ZodObject<{
        ok: z.ZodLiteral<true>;
        revoked: z.ZodBoolean;
    }, z.core.$strict>;
    async: true;
    description: string;
};
/**
 * All self-service account action specs — a codegen-ready registry.
 * Consumers spread this into their own action-spec array to include
 * account methods in a typed client surface.
 */
export declare const all_account_action_specs: Array<RequestResponseActionSpec>;
//# sourceMappingURL=account_action_specs.d.ts.map