/**
 * Agent Registry Accessor — CRUD operations for agent credentials in SQLite.
 *
 * Implements the `AgentRegistryAPI` contract from `@cleocode/contracts`.
 * API keys are encrypted at rest using the crypto/credentials module.
 *
 * @see docs/specs/SIGNALDOCK-UNIFIED-AGENT-REGISTRY.md Section 3
 * @task T175
 */
import type { AgentCredential, AgentListFilter, AgentRegistryAPI } from '@cleocode/contracts';
import type { NodeSQLiteDatabase } from 'drizzle-orm/node-sqlite';
import * as schema from './tasks-schema.js';
/** Typed database instance — preserves end-to-end type safety with the full schema. */
type TypedDb = NodeSQLiteDatabase<typeof schema>;
/** Zod validation schemas for agent credentials (drizzle-orm/zod). */
export declare const agentCredentialInsertSchema: import("drizzle-orm/zod").BuildSchema<"insert", {
    agentId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
        name: string;
        tableName: "agent_credentials";
        dataType: "string";
        data: string;
        driverParam: string;
        notNull: true;
        hasDefault: false;
        isPrimaryKey: true;
        isAutoincrement: false;
        hasRuntimeDefault: false;
        enumValues: [string, ...string[]];
        baseColumn: never;
        identity: undefined;
        generated: undefined;
    }, {}>;
    displayName: import("drizzle-orm/sqlite-core").SQLiteColumn<{
        name: string;
        tableName: "agent_credentials";
        dataType: "string";
        data: string;
        driverParam: string;
        notNull: true;
        hasDefault: false;
        isPrimaryKey: false;
        isAutoincrement: false;
        hasRuntimeDefault: false;
        enumValues: [string, ...string[]];
        baseColumn: never;
        identity: undefined;
        generated: undefined;
    }, {}>;
    apiKeyEncrypted: import("drizzle-orm/sqlite-core").SQLiteColumn<{
        name: string;
        tableName: "agent_credentials";
        dataType: "string";
        data: string;
        driverParam: string;
        notNull: true;
        hasDefault: false;
        isPrimaryKey: false;
        isAutoincrement: false;
        hasRuntimeDefault: false;
        enumValues: [string, ...string[]];
        baseColumn: never;
        identity: undefined;
        generated: undefined;
    }, {}>;
    apiBaseUrl: import("drizzle-orm/sqlite-core").SQLiteColumn<{
        name: string;
        tableName: "agent_credentials";
        dataType: "string";
        data: string;
        driverParam: string;
        notNull: true;
        hasDefault: true;
        isPrimaryKey: false;
        isAutoincrement: false;
        hasRuntimeDefault: false;
        enumValues: [string, ...string[]];
        baseColumn: never;
        identity: undefined;
        generated: undefined;
    }, {}>;
    classification: import("drizzle-orm/sqlite-core").SQLiteColumn<{
        name: string;
        tableName: "agent_credentials";
        dataType: "string";
        data: string;
        driverParam: string;
        notNull: false;
        hasDefault: false;
        isPrimaryKey: false;
        isAutoincrement: false;
        hasRuntimeDefault: false;
        enumValues: [string, ...string[]];
        baseColumn: never;
        identity: undefined;
        generated: undefined;
    }, {}>;
    privacyTier: import("drizzle-orm/sqlite-core").SQLiteColumn<{
        name: string;
        tableName: "agent_credentials";
        dataType: "string";
        data: string;
        driverParam: string;
        notNull: true;
        hasDefault: true;
        isPrimaryKey: false;
        isAutoincrement: false;
        hasRuntimeDefault: false;
        enumValues: [string, ...string[]];
        baseColumn: never;
        identity: undefined;
        generated: undefined;
    }, {}>;
    capabilities: import("drizzle-orm/sqlite-core").SQLiteColumn<{
        name: string;
        tableName: "agent_credentials";
        dataType: "string";
        data: string;
        driverParam: string;
        notNull: true;
        hasDefault: true;
        isPrimaryKey: false;
        isAutoincrement: false;
        hasRuntimeDefault: false;
        enumValues: [string, ...string[]];
        baseColumn: never;
        identity: undefined;
        generated: undefined;
    }, {}>;
    skills: import("drizzle-orm/sqlite-core").SQLiteColumn<{
        name: string;
        tableName: "agent_credentials";
        dataType: "string";
        data: string;
        driverParam: string;
        notNull: true;
        hasDefault: true;
        isPrimaryKey: false;
        isAutoincrement: false;
        hasRuntimeDefault: false;
        enumValues: [string, ...string[]];
        baseColumn: never;
        identity: undefined;
        generated: undefined;
    }, {}>;
    transportConfig: import("drizzle-orm/sqlite-core").SQLiteColumn<{
        name: string;
        tableName: "agent_credentials";
        dataType: "string";
        data: string;
        driverParam: string;
        notNull: true;
        hasDefault: true;
        isPrimaryKey: false;
        isAutoincrement: false;
        hasRuntimeDefault: false;
        enumValues: [string, ...string[]];
        baseColumn: never;
        identity: undefined;
        generated: undefined;
    }, {}>;
    isActive: import("drizzle-orm/sqlite-core").SQLiteColumn<{
        name: string;
        tableName: "agent_credentials";
        dataType: "boolean";
        data: boolean;
        driverParam: number;
        notNull: true;
        hasDefault: true;
        isPrimaryKey: false;
        isAutoincrement: false;
        hasRuntimeDefault: false;
        enumValues: undefined;
        baseColumn: never;
        identity: undefined;
        generated: undefined;
    }, {}>;
    lastUsedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
        name: string;
        tableName: "agent_credentials";
        dataType: "number int53";
        data: number;
        driverParam: number;
        notNull: false;
        hasDefault: false;
        isPrimaryKey: false;
        isAutoincrement: false;
        hasRuntimeDefault: false;
        enumValues: undefined;
        baseColumn: never;
        identity: undefined;
        generated: undefined;
    }, {}>;
    createdAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
        name: string;
        tableName: "agent_credentials";
        dataType: "number int53";
        data: number;
        driverParam: number;
        notNull: true;
        hasDefault: false;
        isPrimaryKey: false;
        isAutoincrement: false;
        hasRuntimeDefault: false;
        enumValues: undefined;
        baseColumn: never;
        identity: undefined;
        generated: undefined;
    }, {}>;
    updatedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
        name: string;
        tableName: "agent_credentials";
        dataType: "number int53";
        data: number;
        driverParam: number;
        notNull: true;
        hasDefault: false;
        isPrimaryKey: false;
        isAutoincrement: false;
        hasRuntimeDefault: false;
        enumValues: undefined;
        baseColumn: never;
        identity: undefined;
        generated: undefined;
    }, {}>;
}, undefined, undefined>;
export declare const agentCredentialSelectSchema: import("drizzle-orm/zod").BuildSchema<"select", {
    agentId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
        name: string;
        tableName: "agent_credentials";
        dataType: "string";
        data: string;
        driverParam: string;
        notNull: true;
        hasDefault: false;
        isPrimaryKey: true;
        isAutoincrement: false;
        hasRuntimeDefault: false;
        enumValues: [string, ...string[]];
        baseColumn: never;
        identity: undefined;
        generated: undefined;
    }, {}>;
    displayName: import("drizzle-orm/sqlite-core").SQLiteColumn<{
        name: string;
        tableName: "agent_credentials";
        dataType: "string";
        data: string;
        driverParam: string;
        notNull: true;
        hasDefault: false;
        isPrimaryKey: false;
        isAutoincrement: false;
        hasRuntimeDefault: false;
        enumValues: [string, ...string[]];
        baseColumn: never;
        identity: undefined;
        generated: undefined;
    }, {}>;
    apiKeyEncrypted: import("drizzle-orm/sqlite-core").SQLiteColumn<{
        name: string;
        tableName: "agent_credentials";
        dataType: "string";
        data: string;
        driverParam: string;
        notNull: true;
        hasDefault: false;
        isPrimaryKey: false;
        isAutoincrement: false;
        hasRuntimeDefault: false;
        enumValues: [string, ...string[]];
        baseColumn: never;
        identity: undefined;
        generated: undefined;
    }, {}>;
    apiBaseUrl: import("drizzle-orm/sqlite-core").SQLiteColumn<{
        name: string;
        tableName: "agent_credentials";
        dataType: "string";
        data: string;
        driverParam: string;
        notNull: true;
        hasDefault: true;
        isPrimaryKey: false;
        isAutoincrement: false;
        hasRuntimeDefault: false;
        enumValues: [string, ...string[]];
        baseColumn: never;
        identity: undefined;
        generated: undefined;
    }, {}>;
    classification: import("drizzle-orm/sqlite-core").SQLiteColumn<{
        name: string;
        tableName: "agent_credentials";
        dataType: "string";
        data: string;
        driverParam: string;
        notNull: false;
        hasDefault: false;
        isPrimaryKey: false;
        isAutoincrement: false;
        hasRuntimeDefault: false;
        enumValues: [string, ...string[]];
        baseColumn: never;
        identity: undefined;
        generated: undefined;
    }, {}>;
    privacyTier: import("drizzle-orm/sqlite-core").SQLiteColumn<{
        name: string;
        tableName: "agent_credentials";
        dataType: "string";
        data: string;
        driverParam: string;
        notNull: true;
        hasDefault: true;
        isPrimaryKey: false;
        isAutoincrement: false;
        hasRuntimeDefault: false;
        enumValues: [string, ...string[]];
        baseColumn: never;
        identity: undefined;
        generated: undefined;
    }, {}>;
    capabilities: import("drizzle-orm/sqlite-core").SQLiteColumn<{
        name: string;
        tableName: "agent_credentials";
        dataType: "string";
        data: string;
        driverParam: string;
        notNull: true;
        hasDefault: true;
        isPrimaryKey: false;
        isAutoincrement: false;
        hasRuntimeDefault: false;
        enumValues: [string, ...string[]];
        baseColumn: never;
        identity: undefined;
        generated: undefined;
    }, {}>;
    skills: import("drizzle-orm/sqlite-core").SQLiteColumn<{
        name: string;
        tableName: "agent_credentials";
        dataType: "string";
        data: string;
        driverParam: string;
        notNull: true;
        hasDefault: true;
        isPrimaryKey: false;
        isAutoincrement: false;
        hasRuntimeDefault: false;
        enumValues: [string, ...string[]];
        baseColumn: never;
        identity: undefined;
        generated: undefined;
    }, {}>;
    transportConfig: import("drizzle-orm/sqlite-core").SQLiteColumn<{
        name: string;
        tableName: "agent_credentials";
        dataType: "string";
        data: string;
        driverParam: string;
        notNull: true;
        hasDefault: true;
        isPrimaryKey: false;
        isAutoincrement: false;
        hasRuntimeDefault: false;
        enumValues: [string, ...string[]];
        baseColumn: never;
        identity: undefined;
        generated: undefined;
    }, {}>;
    isActive: import("drizzle-orm/sqlite-core").SQLiteColumn<{
        name: string;
        tableName: "agent_credentials";
        dataType: "boolean";
        data: boolean;
        driverParam: number;
        notNull: true;
        hasDefault: true;
        isPrimaryKey: false;
        isAutoincrement: false;
        hasRuntimeDefault: false;
        enumValues: undefined;
        baseColumn: never;
        identity: undefined;
        generated: undefined;
    }, {}>;
    lastUsedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
        name: string;
        tableName: "agent_credentials";
        dataType: "number int53";
        data: number;
        driverParam: number;
        notNull: false;
        hasDefault: false;
        isPrimaryKey: false;
        isAutoincrement: false;
        hasRuntimeDefault: false;
        enumValues: undefined;
        baseColumn: never;
        identity: undefined;
        generated: undefined;
    }, {}>;
    createdAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
        name: string;
        tableName: "agent_credentials";
        dataType: "number int53";
        data: number;
        driverParam: number;
        notNull: true;
        hasDefault: false;
        isPrimaryKey: false;
        isAutoincrement: false;
        hasRuntimeDefault: false;
        enumValues: undefined;
        baseColumn: never;
        identity: undefined;
        generated: undefined;
    }, {}>;
    updatedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
        name: string;
        tableName: "agent_credentials";
        dataType: "number int53";
        data: number;
        driverParam: number;
        notNull: true;
        hasDefault: false;
        isPrimaryKey: false;
        isAutoincrement: false;
        hasRuntimeDefault: false;
        enumValues: undefined;
        baseColumn: never;
        identity: undefined;
        generated: undefined;
    }, {}>;
}, undefined, undefined>;
/** SQLite implementation of the AgentRegistryAPI. */
export declare class AgentRegistryAccessor implements AgentRegistryAPI {
    private db;
    private projectPath;
    constructor(db: TypedDb, projectPath: string);
    register(credential: Omit<AgentCredential, 'createdAt' | 'updatedAt'>): Promise<AgentCredential>;
    get(agentId: string): Promise<AgentCredential | null>;
    list(filter?: AgentListFilter): Promise<AgentCredential[]>;
    update(agentId: string, updates: Partial<Omit<AgentCredential, 'agentId' | 'createdAt'>>): Promise<AgentCredential>;
    remove(agentId: string): Promise<void>;
    rotateKey(agentId: string): Promise<{
        agentId: string;
        newApiKey: string;
    }>;
    getActive(): Promise<AgentCredential | null>;
    markUsed(agentId: string): Promise<void>;
}
export {};
//# sourceMappingURL=agent-registry-accessor.d.ts.map