import { EventEmitter } from '../../stencil-public-runtime';
import { Unsubscribe } from '../../services/redux-store.service';
import { BpSdkStore } from '@boldpenguin/sdk-redux';
import { IChoice, ISingleQuestionGroupVehicleViewState, IVehicleConfigurationOptions, IVehicleConfigurationsContainerComponent, IVehicleMakeOptions, IVehicleModelOptions, IVehicleSelection, IYearMakeModelConfigurationUpdate } from '@boldpenguin/sdk-types';
export declare class BpSdkVehicleConfigurationsContainer implements IVehicleConfigurationsContainerComponent {
    storeUnsubscribe?: Unsubscribe;
    /**
     * Vehicle options injected by redux
     */
    configurationOptions: IVehicleConfigurationOptions;
    /**
     * Current vehicle selection injected by redux
     */
    selectedVehicle: IVehicleSelection;
    /**
     * Vehicle options injected by redux
     */
    makeOptions: IVehicleMakeOptions;
    /**
     * Vehicle options injected by redux
     */
    modelOptions: IVehicleModelOptions;
    /**
     * Question group id
     */
    questionGroupId: string;
    /**
     * Is year make model
     */
    checkYmm: boolean;
    /**
     * The id of the answer associated with this field
     */
    answerId: string;
    /**
     * The question code associated with this field
     */
    code: string;
    /**
     * The source a question was answered by, if not answered directly
     */
    answeredBySource: string;
    choices: IChoice[];
    useExternal: boolean;
    touched: boolean;
    pristine: boolean;
    value: string;
    showConfig: boolean;
    errors: string[];
    ymmcUpdate: EventEmitter<IYearMakeModelConfigurationUpdate>;
    el: HTMLBpSdkVehicleConfigurationsContainerElement;
    resetState(): void;
    handleSubscriptions: () => void;
    connectedCallback(): void;
    componentWillLoad(): void;
    mapStateToProps: (state: BpSdkStore) => {
        configurationOptions: IVehicleConfigurationOptions;
        makeOptions: IVehicleMakeOptions;
        modelOptions: IVehicleMakeOptions;
        selectedVehicle: IVehicleSelection;
    };
    onQuestionGroupIdChange(): void;
    onMakesMapChange(makeOptions: IVehicleMakeOptions): void;
    onVehicleModelOptionsChange(modelOptions: IVehicleModelOptions): void;
    onConfigurationsChange(configurations: IVehicleConfigurationOptions | undefined): void;
    onVehicleSelectionChange(selection: IVehicleSelection): void;
    updateValue(configurations: IVehicleConfigurationOptions, selection: IVehicleSelection): void;
    onCheckYmmChange(checkYmm: boolean): void;
    updateShowConfig(checkYmm: boolean, options: ISingleQuestionGroupVehicleViewState): void;
    isReadyToConfigure(options: ISingleQuestionGroupVehicleViewState): boolean;
    componentDidLoad(): void;
    disconnectedCallback(): void;
    onUseExternalChange(useExternal: boolean): void;
    updateErrors(pristine: boolean, touched: boolean, value: string): void;
    onMakeDirty(): void;
    onFocusOut: () => void;
    loadFocusEvents(): void;
    unloadFocusEvents(): void;
    onValueUpdate(evt: CustomEvent): void;
    onValueChange(value: string): void;
    render(): any[];
    renderExternal(): any;
    convertConfigurationsToChoices(configurations: IVehicleConfigurationOptions): IChoice[];
    renderInternal(): any;
}
