import { ANIRouter, Client, DateRangeRoute, DayOfWeekRoute, DNISRouter, HuntGroup, MatchStart, NumberPlan, Play, Plugin, Remote, RouteStart, Say, Script, SipExtension, SipGateway, Teams, TimeRangeRoute, ZoneRouter } from '.';
import { Mapper } from './Mapper';
import { Queue } from './Queue';
import { Voicemail } from './Voicemail';
interface ConnectMapping {
    type: string;
    connect: string;
}
declare class Device {
    id: string;
    name: string;
    extension: string;
    type: string;
    remote: Remote;
    plugin: Plugin;
    play: Play;
    say: Say;
    client: Client;
    teams: Teams;
    sipExtension: SipExtension;
    sipGateway: SipGateway;
    aniRouter: ANIRouter;
    dnisRouter: DNISRouter;
    startRoute: RouteStart;
    regexRoute: MatchStart;
    numberPlan: NumberPlan;
    zoneRouter: ZoneRouter;
    huntGroup: HuntGroup;
    timeRangeRoute: TimeRangeRoute;
    dayOfWeekRoute: DayOfWeekRoute;
    dateRangeRoute: DateRangeRoute;
    script: Script;
    queue: Queue;
    voicemail: Voicemail;
    mapper: Mapper;
    constructor(values: Device);
    isValid(): Promise<Boolean>;
    validate(): Promise<any>;
    get payload(): any;
    get connects(): ConnectMapping[];
}
export { Device };
