import type { components } from '../generated/api.js';
import type { WorkspaceId } from '../core/branded-types.js';
import { WorkspaceScopedResource } from './base.js';
import type { ListParams } from '../core/utils.js';
/**
 * Manage Amigo Platform workspaces.
 * Workspaces are the top-level tenancy boundary for all resources.
 *
 * Note: list and create operate at account level (/v1/workspaces),
 * while get, update, and archive operate on a specific workspace.
 */
export declare class WorkspacesResource extends WorkspaceScopedResource {
    /** Create a new workspace */
    create(body: components['schemas']['CreateWorkspaceRequest']): Promise<{
        backend_org_id: string | null;
        connector_type: string | null;
        created_at: string;
        environment: string;
        id: string;
        name: string;
        provisioned_at: string | null;
        region: string;
        slug: string;
        updated_at: string;
    } & import("../index.js").ResponseMetadata>;
    /** List workspaces accessible to the current API key */
    list(params?: ListParams): Promise<{
        continuation_token?: number | null | undefined;
        has_more: boolean;
        items: {
            backend_org_id: string | null;
            connector_type: string | null;
            created_at: string;
            environment: string;
            id: string;
            name: string;
            provisioned_at: string | null;
            region: string;
            slug: string;
            updated_at: string;
        }[];
        total?: number | null | undefined;
    } & import("../index.js").ResponseMetadata>;
    listAutoPaging(params?: ListParams): AsyncGenerator<{
        backend_org_id: string | null;
        connector_type: string | null;
        created_at: string;
        environment: string;
        id: string;
        name: string;
        provisioned_at: string | null;
        region: string;
        slug: string;
        updated_at: string;
    }, any, any>;
    /** Get a single workspace by ID */
    get(id?: WorkspaceId | string): Promise<{
        backend_org_id: string | null;
        connector_type: string | null;
        created_at: string;
        environment: string;
        id: string;
        name: string;
        provisioned_at: string | null;
        region: string;
        slug: string;
        updated_at: string;
    } & import("../index.js").ResponseMetadata>;
    /** Update workspace metadata */
    update(body: components['schemas']['UpdateWorkspaceRequest'], id?: WorkspaceId | string): Promise<{
        backend_org_id: string | null;
        connector_type: string | null;
        created_at: string;
        environment: string;
        id: string;
        name: string;
        provisioned_at: string | null;
        region: string;
        slug: string;
        updated_at: string;
    } & import("../index.js").ResponseMetadata>;
    /** Archive (soft-delete) a workspace */
    archive(body: components['schemas']['ArchiveWorkspaceRequest'], id?: WorkspaceId | string): Promise<{
        backend_org_id: string | null;
        connector_type: string | null;
        created_at: string;
        environment: string;
        id: string;
        name: string;
        provisioned_at: string | null;
        region: string;
        slug: string;
        updated_at: string;
    } & import("../index.js").ResponseMetadata>;
    /** Provision a workspace (seed integrations, mark as provisioned) */
    provision(id?: WorkspaceId | string): Promise<{
        workspace: {
            backend_org_id: string | null;
            connector_type: string | null;
            created_at: string;
            environment: string;
            id: string;
            name: string;
            provisioned_at: string | null;
            region: string;
            slug: string;
            updated_at: string;
        };
    } & import("../index.js").ResponseMetadata>;
    /** Pre-check environment conversion warnings */
    checkEnvironment(target?: 'production' | 'staging', id?: WorkspaceId | string): Promise<{
        current: string;
        target: string;
        warnings: string[];
    } & import("../index.js").ResponseMetadata>;
    /** Convert workspace between staging and production */
    convertEnvironment(body: components['schemas']['ConvertEnvironmentRequest'], id?: WorkspaceId | string): Promise<{
        backend_org_id: string | null;
        connector_type: string | null;
        created_at: string;
        environment: string;
        id: string;
        name: string;
        provisioned_at: string | null;
        region: string;
        slug: string;
        updated_at: string;
    } & import("../index.js").ResponseMetadata>;
}
//# sourceMappingURL=workspaces.d.ts.map