import type { Environment } from '../../../shared/types/index.js';
import { TenantAwareDBClient } from '../../app-providers/tenant-db-client.js';
import { type DeelPayload, type GreenInvoicePayload } from '../helpers/payload-schemas.js';
declare const PROVIDER_SCHEMAS: {
    readonly green_invoice: import("zod").ZodObject<{
        id: import("zod").ZodString;
        secret: import("zod").ZodString;
    }, import("zod/v4/core").$strip>;
    readonly deel: import("zod").ZodObject<{
        apiToken: import("zod").ZodString;
    }, import("zod/v4/core").$strip>;
};
export type ProviderKey = keyof typeof PROVIDER_SCHEMAS;
export declare class ProviderCredentialsProvider {
    private db;
    private env;
    constructor(db: TenantAwareDBClient, env: Environment);
    private get encryptionKey();
    setCredentials(provider: ProviderKey, payload: unknown): Promise<Date | undefined>;
    deleteCredentials(provider: ProviderKey): Promise<void>;
    getProviderStatuses(): Promise<Array<{
        provider: string;
        configuredAt: string;
    }>>;
    getGreenInvoiceCredentials(): Promise<GreenInvoicePayload | null>;
    getDeelCredentials(): Promise<DeelPayload | null>;
    private _getDecrypted;
}
export {};
