import type { JaitDB } from "../db/connection.js";
import { type AcpProviderConfig } from "../providers/acp-provider.js";
import type { ProviderRegistry } from "../providers/registry.js";
export interface ProviderAccountRecord {
    id: string;
    userId: string;
    providerType: string;
    label: string;
    createdAt: string;
    updatedAt: string;
}
export interface ProviderAccountType {
    providerType: string;
    name: string;
    description: string;
}
export declare class ProviderAccountService {
    private readonly db;
    private readonly registry;
    private readonly accountsRoot;
    private readonly definitions;
    constructor(db: JaitDB, registry: ProviderRegistry, definitions: AcpProviderConfig[], accountsRoot?: string);
    load(): void;
    list(userId: string): ProviderAccountRecord[];
    listTypes(): ProviderAccountType[];
    get(id: string, userId: string): ProviderAccountRecord | null;
    create(userId: string, providerType: string, label: string): ProviderAccountRecord;
    rename(id: string, userId: string, label: string): Promise<ProviderAccountRecord | null>;
    delete(id: string, userId: string): Promise<boolean>;
    private register;
    private accountHome;
    private normalizeLabel;
}
//# sourceMappingURL=provider-accounts.d.ts.map