import type { CapabilityRegistry } from '../capabilities';
import type { DataViewRegistry } from '../data-views';
import type { OperationSpecRegistry } from '../operations/registry';
export declare const databaseOperationContracts: {
    DatabaseSchemaDescribeQuery: import("..").OperationSpec<import("@contractspec/lib.schema").SchemaModel<{
        databaseKey: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: false;
        };
        schemaKey: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: true;
        };
        schemaVersion: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: true;
        };
        includeModels: {
            type: import("@contractspec/lib.schema").FieldType<boolean, boolean>;
            isOptional: true;
        };
    }>, import("@contractspec/lib.schema").SchemaModel<{
        schemas: {
            type: import("@contractspec/lib.schema").SchemaModel<{
                databaseKey: {
                    type: import("@contractspec/lib.schema").FieldType<string, string>;
                    isOptional: false;
                };
                schemaKey: {
                    type: import("@contractspec/lib.schema").FieldType<string, string>;
                    isOptional: false;
                };
                version: {
                    type: import("@contractspec/lib.schema").FieldType<string, string>;
                    isOptional: false;
                };
                description: {
                    type: import("@contractspec/lib.schema").FieldType<string, string>;
                    isOptional: true;
                };
                modelCount: {
                    type: import("@contractspec/lib.schema").FieldType<number, number>;
                    isOptional: true;
                };
                models: {
                    type: import("@contractspec/lib.schema").SchemaModel<{
                        name: {
                            type: import("@contractspec/lib.schema").FieldType<string, string>;
                            isOptional: false;
                        };
                        fieldCount: {
                            type: import("@contractspec/lib.schema").FieldType<number, number>;
                            isOptional: true;
                        };
                        relationCount: {
                            type: import("@contractspec/lib.schema").FieldType<number, number>;
                            isOptional: true;
                        };
                        piiFields: {
                            type: import("@contractspec/lib.schema").FieldType<number, number>;
                            isOptional: true;
                        };
                    }>;
                    isOptional: true;
                    isArray: true;
                };
                updatedAt: {
                    type: import("@contractspec/lib.schema").FieldType<Date, string>;
                    isOptional: true;
                };
            }>;
            isOptional: false;
            isArray: true;
        };
    }>, undefined>;
    DatabaseMigrationsListQuery: import("..").OperationSpec<import("@contractspec/lib.schema").SchemaModel<{
        databaseKey: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: false;
        };
        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<{
        migrations: {
            type: import("@contractspec/lib.schema").SchemaModel<{
                key: {
                    type: import("@contractspec/lib.schema").FieldType<string, string>;
                    isOptional: false;
                };
                version: {
                    type: import("@contractspec/lib.schema").FieldType<string, string>;
                    isOptional: false;
                };
                description: {
                    type: import("@contractspec/lib.schema").FieldType<string, string>;
                    isOptional: true;
                };
                status: {
                    type: import("@contractspec/lib.schema").FieldType<string, string>;
                    isOptional: true;
                };
                appliedAt: {
                    type: import("@contractspec/lib.schema").FieldType<Date, 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>;
    DatabaseDictionaryGetQuery: import("..").OperationSpec<import("@contractspec/lib.schema").SchemaModel<{
        databaseKey: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: false;
        };
        entryKey: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: false;
        };
    }>, import("@contractspec/lib.schema").SchemaModel<{
        entry: {
            type: import("@contractspec/lib.schema").SchemaModel<{
                entryKey: {
                    type: import("@contractspec/lib.schema").FieldType<string, string>;
                    isOptional: false;
                };
                description: {
                    type: import("@contractspec/lib.schema").FieldType<string, string>;
                    isOptional: true;
                };
                fieldPath: {
                    type: import("@contractspec/lib.schema").FieldType<string, string>;
                    isOptional: true;
                };
                piiTags: {
                    type: import("@contractspec/lib.schema").FieldType<string, string>;
                    isOptional: true;
                    isArray: true;
                };
                owner: {
                    type: import("@contractspec/lib.schema").FieldType<string, string>;
                    isOptional: true;
                };
            }>;
            isOptional: false;
        };
    }>, undefined>;
    DatabaseQueryReadonlyQuery: import("..").OperationSpec<import("@contractspec/lib.schema").SchemaModel<{
        dataViewKey: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: false;
        };
        dataViewVersion: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: true;
        };
        filters: {
            type: import("@contractspec/lib.schema").FieldType<Record<string, unknown>, Record<string, unknown>>;
            isOptional: true;
        };
        limit: {
            type: import("@contractspec/lib.schema").FieldType<number, number>;
            isOptional: true;
        };
        offset: {
            type: import("@contractspec/lib.schema").FieldType<number, number>;
            isOptional: true;
        };
        sort: {
            type: import("@contractspec/lib.schema").FieldType<Record<string, unknown>, Record<string, unknown>>;
            isOptional: true;
        };
        redactionMode: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: true;
        };
    }>, import("@contractspec/lib.schema").SchemaModel<{
        rows: {
            type: import("@contractspec/lib.schema").FieldType<Record<string, unknown>, Record<string, unknown>>;
            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;
        };
        schemaRef: {
            type: import("@contractspec/lib.schema").FieldType<string, string>;
            isOptional: true;
        };
    }>, undefined>;
};
export declare const databaseCapabilityContracts: {
    DatabaseContextCapability: import("..").CapabilitySpec;
};
export declare const databaseDataViewContracts: {
    DatabaseSchemasDataView: {
        readonly meta: {
            readonly key: "database.schema.index";
            readonly title: "Database Schemas";
            readonly version: "1.0.0";
            readonly description: "List database schemas and model counts.";
            readonly domain: "database";
            readonly owners: string[];
            readonly tags: [...string[], "schema", "index"];
            readonly stability: "experimental";
            readonly entity: "database_schema";
            readonly docId: [import("../docs").DocId];
        };
        readonly source: {
            readonly primary: {
                readonly key: string;
                readonly version: string;
            };
        };
        readonly view: {
            readonly kind: "list";
            readonly fields: [{
                readonly key: "databaseKey";
                readonly label: "Database";
                readonly dataPath: "databaseKey";
            }, {
                readonly key: "schemaKey";
                readonly label: "Schema";
                readonly dataPath: "schemaKey";
            }, {
                readonly key: "version";
                readonly label: "Version";
                readonly dataPath: "version";
            }, {
                readonly key: "modelCount";
                readonly label: "Models";
                readonly dataPath: "modelCount";
            }, {
                readonly key: "updatedAt";
                readonly label: "Updated";
                readonly dataPath: "updatedAt";
            }];
            readonly primaryField: "schemaKey";
            readonly secondaryFields: ["databaseKey", "version"];
            readonly filters: [{
                readonly key: "databaseKey";
                readonly label: "Database";
                readonly field: "databaseKey";
                readonly type: "search";
            }, {
                readonly key: "schemaKey";
                readonly label: "Schema";
                readonly field: "schemaKey";
                readonly type: "search";
            }];
        };
        readonly policy: {
            readonly flags: [];
            readonly pii: [];
        };
    };
};
export declare function registerDatabaseOperations(registry: OperationSpecRegistry): OperationSpecRegistry;
export declare function registerDatabaseCapabilities(registry: CapabilityRegistry): CapabilityRegistry;
export declare function registerDatabaseDataViews(registry: DataViewRegistry): DataViewRegistry;
