import { SurfaceBuilderBase } from '../internal/base';
import { Prop } from '../internal/constants';
import { Blocks, CallbackId, ClearOnClose, Close, ExternalId, NotifyOnClose, PrivateMetaData, Submit, Title, BuildToJSON, BuildToObject, GetBlocks, GetPreviewUrl, PrintPreviewUrl, FetchValues } from '../internal/methods';
import type { FetchValuesParams, ViewBlockBuilder } from '../internal/types';
import { ModalViewRdo } from '../plugin';
export interface ModalParams {
    type?: string;
    title?: string;
    close?: string;
    submit?: string;
    privateMetaData?: string;
    callbackId?: string;
    externalId?: string;
    [Prop.FetchValues]?: FetchValuesParams;
}
export interface ModalBuilder extends Blocks<ViewBlockBuilder>, CallbackId, ClearOnClose, Close, ExternalId, NotifyOnClose, PrivateMetaData, Submit, Title, BuildToJSON, BuildToObject<ModalViewRdo>, GetBlocks, GetPreviewUrl, PrintPreviewUrl, FetchValues {
}
/**
 * @@link https://api.slack.com/reference/surfaces/views
 * @@displayName Modal
 */
export declare class ModalBuilder extends SurfaceBuilderBase {
    getBlockIds(): string[];
}
