export declare class ConfigError extends Error {
    constructor(message: string);
}
export declare class Config {
    readonly timeout: number;
    readonly ma: MaConfig;
    readonly twitch: TwitchConfig;
    readonly sacn: SACNConfig;
    readonly commands: Array<Command>;
    readonly availableCommands: string;
    private readonly commandMap;
    constructor(config: any);
    getCommand(chatCommand: string): Command;
}
export declare class MaConfig {
    readonly host: string;
    readonly user: string;
    readonly password: string;
    constructor(maConfig: any);
}
export declare class TwitchConfig {
    readonly clientId: string;
    readonly accessToken: string;
    readonly channel: string;
    constructor(twitchConfig: any);
}
export interface Instructions {
    getChatCommand(): string;
    readonly consoleCommand: string;
    readonly message: string;
    readonly sacn: SACNLock;
}
export declare class Command implements Instructions {
    readonly chatCommand: string;
    readonly consoleCommand: string;
    readonly message: string;
    readonly help: string;
    readonly sacn: SACNLock;
    readonly parameters: Array<Parameter>;
    readonly availableParameters: string;
    private readonly parameterMap;
    constructor(command: any);
    getChatCommand(): string;
    getParameter(parameter: string): Parameter;
}
export declare class Parameter implements Instructions {
    readonly parameter: string;
    readonly consoleCommand: string;
    readonly message: string;
    readonly sacn: SACNLock;
    constructor(parameter: any);
    getChatCommand(): string;
}
export declare class SACNLock {
    readonly universe: number;
    readonly channel: number;
    constructor(sacn: any);
}
export declare class SACNConfig {
    readonly lockMessage: string;
    readonly interface: string;
    readonly timeout: number;
    constructor(sacn: any);
}
//# sourceMappingURL=Config.d.ts.map