import { type ClientAccountStatusName } from "./clientRelationships.js"; interface WorkspaceStateReceipt { statePath: string; workspaceId: string; workspaceName?: string; changed: boolean; removedClientSlugs?: string[]; } export declare function registerWorkspaceInAdminState(workspaceId: string, workspaceName: string, targetStatePath?: string): WorkspaceStateReceipt; export declare function removeWorkspaceFromAdminState(workspaceId: string): WorkspaceStateReceipt; interface ClientRoutingArgs { customerSlug: string; company: string; workspaceId: string; sharedChannelId: string; repliesChannelId: string; followupsChannelId: string; /** Product account status. The mirror stores its lowercase form. */ status?: ClientAccountStatusName; } /** * Write the DERIVED MIRROR. The product database is the authority for client * routing; this entry exists because Admin runtime materialization derives one * `sellable-client-digest-` cron per active `clients{}` entry with a * valid `channels.shared`. */ export declare function registerClientRoutingInAdminState(args: ClientRoutingArgs): Record; export declare const workspaceToolDefinitions: ({ name: string; description: string; inputSchema: { type: "object"; properties: { name?: undefined; workspaceId?: undefined; customerSlug?: undefined; company?: undefined; sharedChannelId?: undefined; repliesChannelId?: undefined; followupsChannelId?: undefined; status?: undefined; email?: undefined; role?: undefined; repliesChannelName?: undefined; followupsChannelName?: undefined; }; required: never[]; additionalProperties?: undefined; }; } | { name: string; description: string; inputSchema: { type: "object"; properties: { name: { type: string; description: string; }; workspaceId?: undefined; customerSlug?: undefined; company?: undefined; sharedChannelId?: undefined; repliesChannelId?: undefined; followupsChannelId?: undefined; status?: undefined; email?: undefined; role?: undefined; repliesChannelName?: undefined; followupsChannelName?: undefined; }; required: string[]; additionalProperties?: undefined; }; } | { name: string; description: string; inputSchema: { type: "object"; properties: { workspaceId: { type: string; description: string; }; name?: undefined; customerSlug?: undefined; company?: undefined; sharedChannelId?: undefined; repliesChannelId?: undefined; followupsChannelId?: undefined; status?: undefined; email?: undefined; role?: undefined; repliesChannelName?: undefined; followupsChannelName?: undefined; }; required: string[]; additionalProperties?: undefined; }; } | { name: string; description: string; inputSchema: { type: "object"; additionalProperties: boolean; properties: { workspaceId: { type: string; description: string; }; name?: undefined; customerSlug?: undefined; company?: undefined; sharedChannelId?: undefined; repliesChannelId?: undefined; followupsChannelId?: undefined; status?: undefined; email?: undefined; role?: undefined; repliesChannelName?: undefined; followupsChannelName?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: "object"; additionalProperties: boolean; properties: { customerSlug: { type: string; }; company: { type: string; }; workspaceId: { type: string; description?: undefined; }; sharedChannelId: { type: string; description: string; }; repliesChannelId: { type: string; description?: undefined; }; followupsChannelId: { type: string; description?: undefined; }; status: { type: string; enum: string[]; description: string; }; name?: undefined; email?: undefined; role?: undefined; repliesChannelName?: undefined; followupsChannelName?: undefined; }; required: string[]; }; } | { name: string; description: string; inputSchema: { type: "object"; properties: { workspaceId: { type: string; description: string; }; email: { type: string; description: string; }; role: { type: string; description: string; enum: string[]; }; name?: undefined; customerSlug?: undefined; company?: undefined; sharedChannelId?: undefined; repliesChannelId?: undefined; followupsChannelId?: undefined; status?: undefined; repliesChannelName?: undefined; followupsChannelName?: undefined; }; required: string[]; additionalProperties?: undefined; }; } | { name: string; description: string; inputSchema: { type: "object"; properties: { workspaceId: { type: string; description: string; }; repliesChannelId: { type: string; description: string; }; repliesChannelName: { type: string; description: string; }; followupsChannelId: { type: string; description: string; }; followupsChannelName: { type: string; description: string; }; name?: undefined; customerSlug?: undefined; company?: undefined; sharedChannelId?: undefined; status?: undefined; email?: undefined; role?: undefined; }; required: string[]; additionalProperties?: undefined; }; })[]; export declare function adminWorkspaceList(): Promise; export declare function adminWorkspaceCreate(name: string): Promise; export declare function adminWorkspaceGet(workspaceId: string): Promise; export declare function adminWorkspaceRegister(workspaceId: string, adminStatePath?: string): Promise; /** * PRODUCT FIRST, MIRROR SECOND. `UPSERT_CLIENT_ACCOUNT` is the authoritative * write; `config-state.json` is a derived mirror that must stay accurate * (Admin runtime derives the digest cron set from it) but is never the answer * to a question. A failed product write writes NOTHING to the mirror; a failed * mirror write is reported as `mirrorFailed` rather than swallowed. */ export declare function adminWorkspaceClientRoutingSet(args: ClientRoutingArgs): Promise; export declare function adminWorkspaceArchive(workspaceId: string): Promise; export declare function adminWorkspaceInvite(args: { workspaceId: string; email: string; role?: string; }): Promise; export declare function adminWorkspaceBootstrap(name: string): Promise; export declare function adminWorkspaceSlackRoutingGet(workspaceId: string): Promise; export declare function adminWorkspaceSlackRoutingSet(args: { workspaceId: string; repliesChannelId: string; repliesChannelName: string; followupsChannelId: string; followupsChannelName: string; }): Promise; export {};