import { EventEmitter } from "../../../stencil-public-runtime";
import { Nullable } from "../../../types/interfaces";
import { PositionType } from "./constants";
import { DropdownEvent } from "./gov-dropdown.types";
export declare class GovDropdown {
    private h;
    private readonly listId;
    private readonly controlId;
    constructor();
    host: HTMLGovButtonElement;
    /**
     * Custom trigger identifier
     */
    readonly identifier: string;
    /**
     * Dropdown state
     */
    open: boolean;
    /**
     * Menu display position
     */
    readonly position: PositionType;
    /**
     * Emitted when the dropdown change state
     */
    govChange: EventEmitter<DropdownEvent>;
    watchOpen(): void;
    get trigger(): HTMLGovButtonElement;
    get list(): Nullable<HTMLUListElement>;
    componentWillLoad(): void;
    render(): any;
    /**
     * Returns the current state of the dropdown
     */
    getState(): Promise<boolean>;
    /**
     * Toggle state of dropdown
     */
    toggle(): Promise<void>;
}
