interface CheckboxConfig {
    checked: boolean
    onchanged: (flag: boolean) => void
}

interface InitConfig {
    autoUpdates?: CheckboxConfig;
    statusLink?: CheckboxConfig;
    readonly?: boolean;
}

export class CustomerCommunication {
    get autoUpdatesEnabled(): boolean;
    set autoUpdatesEnabled(enabled: boolean);
    get autoUpdates(): boolean;
    set autoUpdates(checked: boolean);

    get statusLinkEnabled(): boolean;
    set statusLinkEnabled(enabled: boolean);
    get statusLink(): boolean;
    set statusLink(checked: boolean);

    create(): HTMLElement;
}

declare var CustomerCommunication: {
    new(opt: InitConfig): CustomerCommunication
}