import { DividerBlockRdo, HeaderBlockRdo, InputBlockRdo, SectionBlockRdo } from './modal-block.rdo';
import { FetchValuesParams, FoxModalView, PlainTextObject, Prop, TPluginModalMapValues } from '../../internal';
import { LoopPluginModalType } from '../../internal/enum';
export type TFoxUsedBlock = InputBlockRdo | SectionBlockRdo | DividerBlockRdo | HeaderBlockRdo;
export type TFindBlockParams = Pick<InputBlockRdo, Prop.ForTeams | Prop.CustomField | Prop.Access | Prop.NoSubmit>;
export declare class ModalViewRdo implements FoxModalView {
    modalName: string;
    type: 'modal';
    callback_id?: string;
    private_metadata?: string;
    title: PlainTextObject;
    submit?: PlainTextObject;
    close?: PlainTextObject;
    blocks: TFoxUsedBlock[];
    /**
     * @description Запрос изначальных данных для блоков
     */
    fetchValues?: FetchValuesParams;
    filterBlocks(filterFn?: (b: TFoxUsedBlock) => boolean): this;
    /** Получение блока по айди */
    getBlock(blockId: string, params?: TFindBlockParams): TFoxUsedBlock | undefined;
    /** Убираем блоки по (части) ID и параметрам */
    removeBlocksById(blockIdOrPart: string, params?: TFindBlockParams): this;
}
export declare class ModalRdo {
    name: string;
    type: LoopPluginModalType;
    map: TPluginModalMapValues | null;
    view: ModalViewRdo;
}
