interface DopplerProject {
    id: string;
    slug: string;
    name: string;
    description?: string;
    created_at: string;
    updated_at: string;
}
interface DopplerConfig {
    name: string;
    root: boolean;
    locked: boolean;
    environment: string;
    project: string;
    created_at: string;
    initial_fetch_at?: string;
    last_fetch_at?: string;
}
interface DopplerSecret {
    name: string;
    value?: {
        raw: string;
        computed: string;
    };
}
interface DopplerServiceToken {
    name: string;
    slug: string;
    key: string;
    project: string;
    environment: string;
    config: string;
    access: string;
    expires_at?: string;
    created_at: string;
}
interface DopplerActivityLog {
    id: string;
    text: string;
    html: string;
    user: {
        email?: string;
        name?: string;
    };
    project?: string;
    environment?: string;
    config?: string;
    created_at: string;
}
export declare class DopplerClient {
    private axios;
    constructor(token: string);
    listProjects(): Promise<DopplerProject[]>;
    listConfigs(project: string): Promise<DopplerConfig[]>;
    listSecrets(project: string, config: string): Promise<string[]>;
    getSecret(project: string, config: string, name: string): Promise<DopplerSecret>;
    setSecret(project: string, config: string, name: string, value: string): Promise<{
        created: boolean;
    }>;
    deleteSecrets(project: string, config: string, secrets: string[]): Promise<void>;
    promoteSecrets(project: string, sourceConfig: string, targetConfig: string, excludeKeys?: string[]): Promise<{
        count: number;
    }>;
    createServiceToken(project: string, config: string, name: string, access?: string): Promise<DopplerServiceToken>;
    getActivityLogs(project?: string, page?: number, perPage?: number): Promise<DopplerActivityLog[]>;
    validateConnection(): Promise<boolean>;
}
export {};
//# sourceMappingURL=doppler-client.d.ts.map