import * as convict from 'convict';
declare const config: convict.Config<{
    database: {
        type: string;
        tablePrefix: string;
        postgresdb: {
            database: string;
            host: string;
            password: string;
            port: number;
            user: string;
            schema: string;
            ssl: {
                ca: string;
                cert: string;
                key: string;
                rejectUnauthorized: boolean;
            };
        };
        mysqldb: {
            database: string;
            host: string;
            password: string;
            port: number;
            user: string;
        };
        sqlite: {
            executeVacuumOnStartup: boolean;
        };
    };
    credentials: {
        overwrite: {
            data: string;
            endpoint: string;
        };
        defaultName: string;
    };
    workflows: {
        defaultName: string;
    };
    executions: {
        process: string;
        mode: string;
        timeout: number;
        maxTimeout: number;
        saveDataOnError: string;
        saveDataOnSuccess: string;
        saveExecutionProgress: boolean;
        saveDataManualExecutions: boolean;
        pruneData: boolean;
        pruneDataMaxAge: number;
        pruneDataTimeout: number;
    };
    queue: {
        bull: {
            prefix: string;
            redis: {
                db: number;
                host: string;
                password: string;
                port: number;
                timeoutThreshold: number;
            };
            queueRecoveryInterval: number;
        };
    };
    generic: {
        timezone: string;
    };
    path: string;
    host: string;
    port: number;
    listen_address: string;
    protocol: string;
    ssl_key: string;
    ssl_cert: string;
    security: {
        excludeEndpoints: string;
        basicAuth: {
            active: boolean;
            user: string;
            password: string;
            hash: boolean;
        };
        jwtAuth: {
            active: boolean;
            jwtHeader: string;
            jwtHeaderValuePrefix: string;
            jwksUri: string;
            jwtIssuer: string;
            jwtNamespace: string;
            jwtAllowedTenantKey: string;
            jwtAllowedTenant: string;
        };
    };
    endpoints: {
        payloadSizeMax: number;
        metrics: {
            enable: boolean;
            prefix: string;
        };
        rest: string;
        webhook: string;
        webhookWaiting: string;
        webhookTest: string;
        disableProductionWebhooksOnMainProcess: boolean;
        skipWebhoooksDeregistrationOnShutdown: boolean;
    };
    externalHookFiles: string;
    nodes: {
        include: undefined;
        exclude: string;
        errorTriggerType: string;
    };
    logs: {
        level: string;
        output: string;
        file: {
            fileCountMax: number;
            fileSizeMax: number;
            location: string;
        };
    };
    versionNotifications: {
        enabled: boolean;
        endpoint: string;
        infoUrl: string;
    };
    deployment: {
        type: string;
    };
    personalization: {
        enabled: boolean;
    };
    diagnostics: {
        enabled: boolean;
        config: {
            frontend: string;
            backend: string;
        };
    };
}>;
export = config;
