import { BpSdkStore } from '@boldpenguin/sdk-redux';
import { IChoice, IVehicleModelOptions, IVehicleModelsContainerComponent, IVehicleSelection, IYearMakeModelConfigurationUpdate } from '@boldpenguin/sdk-types';
import { EventEmitter } from '../../stencil-public-runtime';
import { Unsubscribe } from '../../services/redux-store.service';
export declare class BpSdkVehicleModelsContainer implements IVehicleModelsContainerComponent {
    storeUnsubscribe?: Unsubscribe;
    /**
     * The id of the answer associated with this field
     */
    answerId: string;
    /**
     * The question code associated with this field
     */
    code: string;
    /**
     * Vehicle options injected by redux
     */
    modelOptions: IVehicleModelOptions;
    /**
     * Current vehicle selection injected by redux
     */
    selectedVehicle: IVehicleSelection;
    /**
     * Question Group Id
     */
    questionGroupId: string;
    /**
     * Is vehicle a trailer
     */
    isVehicleTrailer: boolean;
    /**
     * The source a question was answered by, if not answered directly
     */
    answeredBySource: string;
    choices: IChoice[];
    useExternal: boolean;
    filter: string;
    filteredChoices: IChoice[];
    touched: boolean;
    pristine: boolean;
    value: string;
    errors: string[];
    ymmcUpdate: EventEmitter<IYearMakeModelConfigurationUpdate>;
    el: HTMLBpSdkVehicleModelsContainerElement;
    resetState(): void;
    handleSubscriptions: () => void;
    connectedCallback(): void;
    componentWillLoad(): void;
    mapStateToProps: (state: BpSdkStore) => {
        modelOptions: IVehicleModelOptions;
        selectedVehicle: IVehicleSelection;
    };
    onQuestionGroupIdChange(): void;
    onModelsChange(models: IVehicleModelOptions): void;
    onSelectionChange(selection: IVehicleSelection): void;
    onFilterUpdate({ detail }: {
        detail: any;
    }): void;
    onFilterChange(filter: string): void;
    onChoicesChange(choices: IChoice[]): void;
    updateChoices(choices: IChoice[], filter?: string): void;
    updateValue(models: IVehicleModelOptions, selection: IVehicleSelection): void;
    componentDidLoad(): void;
    disconnectedCallback(): void;
    onUseExternalChange(useExternal: boolean): void;
    loadFocusEvents(): void;
    unloadFocusEvents(): void;
    onValueUpdate(evt: CustomEvent): void;
    onValueChange(value: string): void;
    updateErrors(pristine: boolean, touched: boolean, value: string): void;
    onMakeDirty(): void;
    onFocusOut: () => void;
    render(): any[];
    renderExternal(): any;
    convertModelsToChoices(models?: IVehicleModelOptions): IChoice[];
    renderInternal(): any;
}
