import { BpSdkStore, loadYears } from '@boldpenguin/sdk-redux';
import { IChoice, IPartnerEngineConfig, IVehicleSelection, IVehicleYearOptions, IVehicleYearsContainerComponent, IYearMakeModelConfigurationUpdate } from '@boldpenguin/sdk-types';
import { EventEmitter } from '../../stencil-public-runtime';
import { Unsubscribe } from '../../services/redux-store.service';
export declare class BpSdkVehicleYearsContainer implements IVehicleYearsContainerComponent {
    storeUnsubscribe?: Unsubscribe;
    loadYears: typeof loadYears;
    /**
     * Vehicle selection injected by redux
     */
    selectedVehicle: IVehicleSelection;
    /**
     * IVehicleYearOptions injected by redux
     */
    yearOptions: IVehicleYearOptions;
    /**
     * Question group id
     */
    questionGroupId: string;
    /**
     * Is vehicle a trailer
     */
    isVehicleTrailer: boolean;
    /**
     * IPartnerEngineConfig injected from redux
     */
    config: IPartnerEngineConfig;
    /**
     * 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[];
    filter: string;
    filteredChoices: IChoice[];
    useExternal: boolean;
    touched: boolean;
    pristine: boolean;
    value: string;
    errors: string[];
    ymmcUpdate: EventEmitter<IYearMakeModelConfigurationUpdate>;
    el: HTMLBpSdkVehicleYearsContainerElement;
    resetState(): void;
    handleSubscriptions: () => void;
    connectedCallback(): void;
    componentWillLoad(): void;
    mapStateToProps: (state: BpSdkStore) => {
        config: IPartnerEngineConfig;
        yearOptions: IVehicleYearOptions;
        selectedVehicle: IVehicleSelection;
    };
    fetchYears(): void;
    onQuestionGroupIdChange(): void;
    onYearsChange(years: IVehicleYearOptions | undefined): void;
    onVehicleSelectionChange(selection: IVehicleSelection): void;
    updateValue(years: IVehicleYearOptions, selection: IVehicleSelection): void;
    onUseExternalChange(useExternal: boolean): void;
    loadFocusEvents(): void;
    unloadFocusEvents(): void;
    componentDidLoad(): void;
    disconnectedCallback(): void;
    onFilterUpdate({ detail }: {
        detail: {
            id: string;
            value: string;
        };
    }): void;
    onFilterChange(filter: string): void;
    onChoicesChange(choices: IChoice[]): void;
    updateChoices(choices: IChoice[], filter?: string): 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;
    convertYearsToChoices(years: IVehicleYearOptions): IChoice[];
    renderInternal(): any;
}
