import { BpSdkStore, initializeAddressValidation, setAddressValidationStatus, resetAddressValidation } from '@boldpenguin/sdk-redux';
import { IAddressGroupContainerComponent, IAddressValidationOptions, IAnswer, IMappedQuestionGroupAnswers } from '@boldpenguin/sdk-types';
import { Unsubscribe } from '../../services/redux-store.service';
export declare class BpSdkAddressGroupContainer implements IAddressGroupContainerComponent {
    storeUnsubscribe?: Unsubscribe;
    initializeAddressValidation: typeof initializeAddressValidation;
    setAddressValidationStatus: typeof setAddressValidationStatus;
    resetAddressValidation: typeof resetAddressValidation;
    questionGroup: IMappedQuestionGroupAnswers | undefined;
    /**
     * group of answers
     */
    answers: IAnswer[];
    /**
     * label
     */
    label: string;
    /**
     *  Labels that describe group
     */
    labelledBy: string;
    /**
     * Enables Google Autocomplete for address groups when true, injected by redux
     */
    enableAddressValidation: boolean;
    /**
     * Partial question codes of parent questions for address validation, injected by redux
     */
    addressValidationOptions: IAddressValidationOptions | undefined;
    /**
     * Is true when address has already completed validation
     */
    isValidationComplete: boolean;
    /**
     * Is true when address group has been initialized for validation
     */
    isAddressGroupValidationInitialized: boolean | null;
    /**
     * Is true when active answer id is an answer within the address question group
     */
    isActiveAnswerInAddressGroup: boolean;
    /**
     * Is true when validation has been run for the address group
     */
    hasValidationOccurred: boolean;
    /**
     * Is true when address validation feature flag is enabled, injected by redux
     */
    isAddressValidationFeatureEnabled: boolean;
    useExternal: boolean;
    useAddressValidation: boolean;
    onAddressValidationRequirementChange(): void;
    onSaveAnswer(event: any): void;
    onShouldInitialization(): void;
    handleSubscriptions(): void;
    mapStateToProps: (state: BpSdkStore) => {
        enableAddressValidation: boolean;
        addressValidationOptions: IAddressValidationOptions;
        isValidationComplete: boolean;
        hasValidationOccurred: boolean;
        isAddressGroupValidationInitialized: boolean;
        isActiveAnswerInAddressGroup: boolean;
        isAddressValidationFeatureEnabled: boolean;
    };
    resetState(): void;
    connectedCallback(): void;
    disconnectedCallback(): void;
    componentWillLoad(): void;
    updateUseAddressValidation(questionGroup: IMappedQuestionGroupAnswers, enableAddressValidation: boolean, addressValidationOptions: IAddressValidationOptions, isValidationComplete: boolean): void;
    shouldQuestionGroupValidateAddress(parentQuestionCode: string, addressValidationOptions: IAddressValidationOptions): boolean;
    render(): any[];
    renderExternal(): any;
    renderInternal(): any;
}
