import { ExchangeType } from '../types/AmqpInterfaces';
import { LOGLEVEL } from '../types/LoggerInterfaces';
export declare const schema: {
    defaultPoolSettings: {
        user: {
            doc: string;
            format: StringConstructor;
            default: string;
            env: string;
        };
        password: {
            doc: string;
            format: StringConstructor;
            default: string;
            env: string;
        };
        database: {
            doc: string;
            format: StringConstructor;
            default: string;
            env: string;
        };
        port: {
            doc: string;
            format: NumberConstructor;
            default: number;
            env: string;
        };
        connectionLimit: {
            doc: string;
            format: NumberConstructor;
            default: number;
            env: string;
        };
        validators: {
            doc: string;
            format: ArrayConstructor;
            default: ({
                key: string;
                operator: string;
                value: string;
            } | {
                key: string;
                operator: string;
                value: number;
            })[];
        };
        loadFactors: {
            doc: string;
            format: ArrayConstructor;
            default: {
                key: string;
                multiplier: number;
            }[];
        };
        timerCheckRange: {
            doc: string;
            format: ObjectConstructor;
            default: {
                start: number;
                end: number;
            };
        };
        timerCheckMultiplier: {
            doc: string;
            format: NumberConstructor;
            default: number;
        };
        queryTimeout: {
            doc: string;
            format: NumberConstructor;
            default: number;
            env: string;
        };
        slowQueryTime: {
            doc: string;
            format: NumberConstructor;
            default: number;
            env: string;
        };
        redisFactor: {
            doc: string;
            format: NumberConstructor;
            default: number;
            env: string;
        };
    };
    showMetricKeys: {
        doc: string;
        format: BooleanConstructor;
        default: boolean;
        env: string;
    };
    serviceMetrics: {
        database: {
            doc: string;
            format: StringConstructor;
            default: string;
            env: string;
        };
        table: {
            doc: string;
            format: StringConstructor;
            default: string;
            env: string;
        };
    };
    clusterHashing: {
        nextCheckTime: {
            doc: string;
            format: NumberConstructor;
            default: number;
            env: string;
        };
        dbName: {
            doc: string;
            format: StringConstructor;
            default: string;
            env: string;
        };
    };
    redisInstant: {
        doc: string;
        format: string;
        default: boolean;
        env: string;
    };
    hosts: {
        doc: string;
        format: ArrayConstructor;
        default: any[];
        env: string;
    };
    useClusterHashing: {
        doc: string;
        format: BooleanConstructor;
        default: boolean;
        env: string;
    };
    clusterName: {
        doc: string;
        format: StringConstructor;
        default: string;
        env: string;
    };
    errorRetryCount: {
        doc: string;
        format: NumberConstructor;
        default: number;
        env: string;
    };
    redis: {
        enabled: {
            doc: string;
            format: BooleanConstructor;
            default: boolean;
            env: string;
        };
        keyPrefix: {
            doc: string;
            format: StringConstructor;
            default: string;
            env: string;
        };
        expire: {
            doc: string;
            format: NumberConstructor;
            default: number;
            env: string;
        };
        expiryMode: {
            doc: string;
            format: readonly ["EX"];
            default: string;
            env: string;
        };
        algorithm: {
            doc: string;
            format: readonly ["md5", "sha256"];
            default: string;
            env: string;
        };
        encoding: {
            doc: string;
            format: readonly ["base64", "hex"];
            default: "base64";
            env: string;
        };
        clearOnStart: {
            doc: string;
            format: BooleanConstructor;
            default: boolean;
            env: string;
        };
    };
    logs: {
        level: {
            doc: string;
            format: readonly LOGLEVEL[];
            default: LOGLEVEL;
            env: string;
        };
        output: {
            doc: string;
            format: StringConstructor;
            default: string;
            env: string;
        };
    };
    amqp_logs: {
        topic: {
            doc: string;
            format: StringConstructor;
            default: string;
            env: string;
        };
        connection_master: {
            host: {
                doc: string;
                format: StringConstructor;
                default: string;
                env: string;
            };
            port: {
                doc: string;
                format: NumberConstructor;
                default: number;
                env: string;
            };
            username: {
                doc: string;
                format: StringConstructor;
                default: string;
                env: string;
            };
            password: {
                doc: string;
                format: StringConstructor;
                default: string;
                env: string;
            };
            vhost: {
                doc: string;
                format: StringConstructor;
                default: string;
                env: string;
            };
            ssl: {
                doc: string;
                format: BooleanConstructor;
                default: boolean;
                env: string;
            };
            heartbeat: {
                doc: string;
                format: NumberConstructor;
                default: number;
                env: string;
            };
        };
        exchage: {
            name: {
                doc: string;
                format: StringConstructor;
                default: string;
                env: string;
            };
            type: {
                doc: string;
                format: readonly ExchangeType[];
                default: ExchangeType;
                env: string;
            };
        };
        queue: {
            name: {
                doc: string;
                format: StringConstructor;
                default: string;
                env: string;
            };
        };
        bindings: {
            enabled: {
                doc: string;
                format: BooleanConstructor;
                default: boolean;
                env: string;
            };
            pattern: {
                doc: string;
                format: StringConstructor;
                default: string;
                env: string;
            };
        };
        prefetch: {
            doc: string;
            format: NumberConstructor;
            default: number;
            env: string;
        };
    };
};
