import { BpSdkStore } from '@boldpenguin/sdk-redux';
import { IMessage, IMessageContainerComponent } from '@boldpenguin/sdk-types';
import { Unsubscribe } from '../../services/redux-store.service';
export declare class BpSdkMessageContainer implements IMessageContainerComponent {
    storeUnsubscribe?: Unsubscribe;
    /**
     * Application form messages injected from redux
     *
     * Legacy messages target the application form and are displayed here. Non-legacy messages can be attached to
     * components other than the application form and will be handled elsewhere.
     */
    messages: IMessage[];
    /**
     * Will use externally registered component
     */
    useExternal: boolean;
    /**
     * Keeps track of latest message in the redux store
     */
    lastMessage: IMessage;
    el: HTMLBpSdkMessageContainerElement;
    resetState(): void;
    handleSubscriptions: () => void;
    connectedCallback(): void;
    componentWillLoad(): void;
    mapStateToProps: (state: BpSdkStore) => {
        messages: IMessage[];
    };
    handleMessagesUpdate(messages: IMessage[]): void;
    disconnectedCallback(): void;
    componentWillUpdate(): void;
    render(): any[];
    renderExternal(): any;
    renderInternal(): any;
}
