import { Repository } from './repository.js'; declare type EventListener = (addressCode: string) => void; export declare class ViewBinder { private el; private repo; private disabled; private readonly; private placeholder; static PROVINCE_SELECT_QUERY: string; static REGENCY_SELECT_QUERY: string; static DISTRICT_SELECT_QUERY: string; static VILLAGE_SELECT_QUERY: string; destroy: () => void; private eventListeners; private setValueQueue; constructor(el: HTMLElement, repo: Repository, defaultAddressCode?: string, disabled?: boolean, readonly?: boolean, placeholder?: string); addEventListener(type: string, listener: EventListener): void; removeEventListener(type: string, listener: EventListener): void; get provinceCode(): string; get regencyCode(): string; get districtCode(): string; get villageCode(): string; get addressCode(): string; setDisabled(disabled: boolean): void; setReadonly(readonly: boolean): void; private applySelectReadonly; private applySelectDisabled; setValue(provinceId?: string, regencyId?: string, districtId?: string, villageId?: string): Promise; setAddressCode(addressCode?: string): Promise; private emit; private get provinceSelect(); private get regencySelect(); private get districtSelect(); private get villageSelect(); private getValueFromSelect; private emptyOptions; private renderOptions; private setSelected; private renderPlaceholderOption; private renderProvinces; private renderRegencies; private renderDistricts; private renderVillages; } export {}; //# sourceMappingURL=view-binder.d.ts.map