import * as z from "zod/v3";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
/**
 * Domain describes a permission domain that can be granted to a
 *
 * @remarks
 *  management key. Verbs are derived from id + readable/writable.
 */
export type Domain = {
    /**
     * Stable domain identifier (e.g. "api-key", "budget"). Used as the
     *
     * @remarks
     *  key in ManagementKey.access and as the verb prefix in resolved
     *  permissions (e.g. budget.list, budget.view, budget.create).
     */
    id?: string | undefined;
    /**
     * Human-readable label for the dashboard.
     */
    displayName?: string | undefined;
    /**
     * Logical group used by the UI to render this entry.
     */
    group?: number | undefined;
    /**
     * Whether this domain can be granted read access.
     */
    readable?: boolean | undefined;
    /**
     * Whether this domain can be granted write access.
     */
    writable?: boolean | undefined;
};
/** @internal */
export declare const Domain$inboundSchema: z.ZodType<Domain, z.ZodTypeDef, unknown>;
export declare function domainFromJSON(jsonString: string): SafeParseResult<Domain, SDKValidationError>;
//# sourceMappingURL=domain.d.ts.map