import type { CapabilityRegistry } from '../capabilities';
import type { DataViewRegistry } from '../data-views';
import type { EventRegistry } from '../events';
import type { FormRegistry } from '../forms';
import type { OperationSpecRegistry } from '../operations/registry';
import type { PresentationRegistry } from '../presentations';
export declare const agentOperationContracts: {
    AgentRunCommand: import("..").OperationSpec<import("@contractspec/lib.schema").SchemaModel<{
        agentKey: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: false;
        };
        contextSnapshotId: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: true;
        };
        prompt: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: true;
        };
        input: {
            type: import("@contractspec/lib.schema").FieldType<Record<string, unknown>, Record<string, unknown>>;
            isOptional: true;
        };
        mode: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: true;
        };
        priority: {
            type: import("@contractspec/lib.schema").FieldType<number, number>;
            isOptional: true;
        };
        tenantId: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: true;
        };
        actorId: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: true;
        };
        metadata: {
            type: import("@contractspec/lib.schema").FieldType<Record<string, unknown>, Record<string, unknown>>;
            isOptional: true;
        };
    }>, import("@contractspec/lib.schema").SchemaModel<{
        runId: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: false;
        };
        status: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: false;
        };
        submittedAt: {
            type: import("@contractspec/lib.schema").FieldType<Date, string>;
            isOptional: false;
        };
        contextSnapshotId: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: true;
        };
    }>, {
        ref: import("..").EventSpecMeta;
        when: string;
    }[]>;
    AgentCancelCommand: import("..").OperationSpec<import("@contractspec/lib.schema").SchemaModel<{
        runId: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: false;
        };
        reason: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: true;
        };
        requestedBy: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: true;
        };
    }>, import("@contractspec/lib.schema").SchemaModel<{
        runId: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: false;
        };
        status: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: false;
        };
        cancelledAt: {
            type: import("@contractspec/lib.schema").FieldType<Date, string>;
            isOptional: true;
        };
    }>, undefined>;
    AgentApprovalsCommand: import("..").OperationSpec<import("@contractspec/lib.schema").SchemaModel<{
        runId: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: false;
        };
        action: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: false;
        };
        comment: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: true;
        };
        approverId: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: true;
        };
    }>, import("@contractspec/lib.schema").SchemaModel<{
        approvalId: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: false;
        };
        status: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: false;
        };
        resolvedAt: {
            type: import("@contractspec/lib.schema").FieldType<Date, string>;
            isOptional: true;
        };
    }>, undefined>;
    AgentStatusQuery: import("..").OperationSpec<import("@contractspec/lib.schema").SchemaModel<{
        runId: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: true;
        };
        status: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: true;
        };
        limit: {
            type: import("@contractspec/lib.schema").FieldType<number, number>;
            isOptional: true;
        };
        offset: {
            type: import("@contractspec/lib.schema").FieldType<number, number>;
            isOptional: true;
        };
    }>, import("@contractspec/lib.schema").SchemaModel<{
        runs: {
            type: import("@contractspec/lib.schema").SchemaModel<{
                runId: {
                    type: import("@contractspec/lib.schema").FieldType<string, string>;
                    isOptional: false;
                };
                agentKey: {
                    type: import("@contractspec/lib.schema").FieldType<string, string>;
                    isOptional: false;
                };
                status: {
                    type: import("@contractspec/lib.schema").FieldType<string, string>;
                    isOptional: false;
                };
                submittedAt: {
                    type: import("@contractspec/lib.schema").FieldType<Date, string>;
                    isOptional: false;
                };
                startedAt: {
                    type: import("@contractspec/lib.schema").FieldType<Date, string>;
                    isOptional: true;
                };
                completedAt: {
                    type: import("@contractspec/lib.schema").FieldType<Date, string>;
                    isOptional: true;
                };
                contextSnapshotId: {
                    type: import("@contractspec/lib.schema").FieldType<string, string>;
                    isOptional: true;
                };
                lastError: {
                    type: import("@contractspec/lib.schema").FieldType<string, string>;
                    isOptional: true;
                };
            }>;
            isOptional: false;
            isArray: true;
        };
        total: {
            type: import("@contractspec/lib.schema").FieldType<number, number>;
            isOptional: true;
        };
        nextOffset: {
            type: import("@contractspec/lib.schema").FieldType<number, number>;
            isOptional: true;
        };
    }>, undefined>;
    AgentArtifactsQuery: import("..").OperationSpec<import("@contractspec/lib.schema").SchemaModel<{
        runId: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: false;
        };
        kind: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: true;
        };
        limit: {
            type: import("@contractspec/lib.schema").FieldType<number, number>;
            isOptional: true;
        };
        offset: {
            type: import("@contractspec/lib.schema").FieldType<number, number>;
            isOptional: true;
        };
    }>, import("@contractspec/lib.schema").SchemaModel<{
        artifacts: {
            type: import("@contractspec/lib.schema").SchemaModel<{
                artifactId: {
                    type: import("@contractspec/lib.schema").FieldType<string, string>;
                    isOptional: false;
                };
                kind: {
                    type: import("@contractspec/lib.schema").FieldType<string, string>;
                    isOptional: false;
                };
                uri: {
                    type: import("@contractspec/lib.schema").FieldType<string, string>;
                    isOptional: false;
                };
                contentType: {
                    type: import("@contractspec/lib.schema").FieldType<string, string>;
                    isOptional: true;
                };
                summary: {
                    type: import("@contractspec/lib.schema").FieldType<string, string>;
                    isOptional: true;
                };
                createdAt: {
                    type: import("@contractspec/lib.schema").FieldType<Date, string>;
                    isOptional: false;
                };
            }>;
            isOptional: false;
            isArray: true;
        };
        total: {
            type: import("@contractspec/lib.schema").FieldType<number, number>;
            isOptional: true;
        };
        nextOffset: {
            type: import("@contractspec/lib.schema").FieldType<number, number>;
            isOptional: true;
        };
    }>, undefined>;
};
export declare const agentEventContracts: {
    AgentRunStartedEvent: import("..").EventSpec<import("@contractspec/lib.schema").SchemaModel<{
        runId: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: false;
        };
        agentKey: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: false;
        };
        status: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: false;
        };
        startedAt: {
            type: import("@contractspec/lib.schema").FieldType<Date, string>;
            isOptional: false;
        };
        contextSnapshotId: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: true;
        };
    }>>;
    AgentRunCompletedEvent: import("..").EventSpec<import("@contractspec/lib.schema").SchemaModel<{
        runId: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: false;
        };
        agentKey: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: false;
        };
        status: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: false;
        };
        completedAt: {
            type: import("@contractspec/lib.schema").FieldType<Date, string>;
            isOptional: false;
        };
        contextSnapshotId: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: true;
        };
    }>>;
    AgentRunFailedEvent: import("..").EventSpec<import("@contractspec/lib.schema").SchemaModel<{
        runId: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: false;
        };
        agentKey: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: false;
        };
        status: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: false;
        };
        failedAt: {
            type: import("@contractspec/lib.schema").FieldType<Date, string>;
            isOptional: false;
        };
        errorMessage: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: true;
        };
        problem: {
            type: import("@contractspec/lib.schema").FieldType<Record<string, unknown>, Record<string, unknown>>;
            isOptional: true;
        };
        contextSnapshotId: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: true;
        };
    }>>;
    AgentApprovalRequestedEvent: import("..").EventSpec<import("@contractspec/lib.schema").SchemaModel<{
        runId: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: false;
        };
        approvalId: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: false;
        };
        reason: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: true;
        };
        requestedAt: {
            type: import("@contractspec/lib.schema").FieldType<Date, string>;
            isOptional: false;
        };
    }>>;
};
export declare const agentCapabilityContracts: {
    AgentExecutionCapability: import("..").CapabilitySpec;
};
export declare const agentDataViewContracts: {
    AgentRunsDataView: {
        readonly meta: {
            readonly key: "agent.run.index";
            readonly title: "Agent Runs";
            readonly version: "1.0.0";
            readonly description: "List background agent runs and their status.";
            readonly domain: "agent";
            readonly owners: string[];
            readonly tags: [...string[], "run", "index"];
            readonly stability: "experimental";
            readonly entity: "agent_run";
            readonly docId: [import("../docs").DocId];
        };
        readonly source: {
            readonly primary: {
                readonly key: string;
                readonly version: string;
            };
        };
        readonly view: {
            readonly kind: "list";
            readonly fields: [{
                readonly key: "runId";
                readonly label: "Run";
                readonly dataPath: "runId";
            }, {
                readonly key: "agentKey";
                readonly label: "Agent";
                readonly dataPath: "agentKey";
            }, {
                readonly key: "status";
                readonly label: "Status";
                readonly dataPath: "status";
            }, {
                readonly key: "submittedAt";
                readonly label: "Submitted";
                readonly dataPath: "submittedAt";
            }, {
                readonly key: "startedAt";
                readonly label: "Started";
                readonly dataPath: "startedAt";
            }, {
                readonly key: "completedAt";
                readonly label: "Completed";
                readonly dataPath: "completedAt";
            }, {
                readonly key: "contextSnapshotId";
                readonly label: "Context Snapshot";
                readonly dataPath: "contextSnapshotId";
            }];
            readonly primaryField: "runId";
            readonly secondaryFields: ["agentKey", "status"];
            readonly filters: [{
                readonly key: "runId";
                readonly label: "Run ID";
                readonly field: "runId";
                readonly type: "search";
            }, {
                readonly key: "status";
                readonly label: "Status";
                readonly field: "status";
                readonly type: "search";
            }];
        };
        readonly policy: {
            readonly flags: [];
            readonly pii: [];
        };
    };
};
export declare const agentFormContracts: {
    AgentRunForm: import("..").FormSpec<import("@contractspec/lib.schema").SchemaModel<{
        agentKey: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: false;
        };
        prompt: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: true;
        };
        contextSnapshotId: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: true;
        };
        mode: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: true;
        };
        priority: {
            type: import("@contractspec/lib.schema").FieldType<number, number>;
            isOptional: true;
        };
    }>>;
};
export declare const agentPresentationContracts: {
    AgentRunAuditPresentation: import("..").PresentationSpec;
};
export declare function registerAgentOperations(registry: OperationSpecRegistry): OperationSpecRegistry;
export declare function registerAgentEvents(registry: EventRegistry): EventRegistry;
export declare function registerAgentCapabilities(registry: CapabilityRegistry): CapabilityRegistry;
export declare function registerAgentDataViews(registry: DataViewRegistry): DataViewRegistry;
export declare function registerAgentForms(registry: FormRegistry): FormRegistry;
export declare function registerAgentPresentations(registry: PresentationRegistry): PresentationRegistry;
