import type { ConfigDevice } from './devices/kasaDevices.js';
export declare class ConfigParseError extends Error {
    errors?: string[] | null | undefined;
    unknownError?: unknown | undefined;
    constructor(message: string, errors?: string[] | null | undefined, unknownError?: unknown | undefined);
    private formatMessage;
}
export interface KasaPythonConfigInput {
    name?: string;
    enableCredentials?: boolean;
    username?: string;
    password?: string;
    hideHomeKitMatter?: boolean;
    pollingInterval?: number;
    discoveryPollingInterval?: number;
    offlineInterval?: number;
    additionalBroadcasts?: string[];
    manualDevices?: (string | ConfigDevice)[];
    excludeMacAddresses?: string[];
    waitTimeUpdate?: number;
    advancedPythonLogging?: boolean;
}
export type KasaPythonConfig = {
    name: string;
    enableCredentials: boolean;
    username: string;
    password: string;
    homekitOptions: {
        hideHomeKitMatter: boolean;
    };
    discoveryOptions: {
        pollingInterval: number;
        discoveryPollingInterval: number;
        offlineInterval: number;
        additionalBroadcasts: string[];
        manualDevices: ConfigDevice[];
        excludeMacAddresses: string[];
    };
    advancedOptions: {
        waitTimeUpdate: number;
        advancedPythonLogging: boolean;
    };
};
export declare const defaultConfig: KasaPythonConfig;
export declare function parseConfig(config: Record<string, unknown>): KasaPythonConfig;
