import { PropType } from "vue";
import type { ComponenteEntrada } from "../EliEntrada/tiposEntradas";
import type { tipoEliTabelaConsulta } from "./types-eli-tabela";
type FiltroBase<T> = NonNullable<tipoEliTabelaConsulta<T>["filtroAvancado"]>[number];
type LinhaFiltro<T> = {
    coluna: keyof T;
    entrada: ComponenteEntrada;
    operador: string;
    valor: any;
};
declare function rotuloDoFiltro(f: FiltroBase<any>): string;
declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    aberto: {
        type: BooleanConstructor;
        required: true;
    };
    filtrosBase: {
        type: PropType<Array<FiltroBase<any>>>;
        required: true;
    };
    modelo: {
        type: PropType<Array<any>>;
        required: true;
    };
}>, {
    linhas: import("vue").Ref<{
        coluna: string | number | symbol;
        entrada: readonly ["texto", {
            rotulo: string;
            placeholder?: string | undefined;
            limiteCaracteres?: number | undefined;
            formato?: "texto" | "email" | "url" | "telefone" | "cpfCnpj" | "cep" | undefined;
        }] | readonly ["dataHora", {
            rotulo: string;
            placeholder?: string | undefined;
            modo?: "data" | "dataHora" | undefined;
            limpavel?: boolean | undefined;
            erro?: boolean | undefined;
            mensagensErro?: string | string[] | undefined;
            dica?: string | undefined;
            dicaPersistente?: boolean | undefined;
            min?: string | undefined;
            max?: string | undefined;
            densidade?: import("../..").CampoDensidade | undefined;
            variante?: import("../..").CampoVariante | undefined;
        }] | readonly ["numero", {
            rotulo: string;
            placeholder?: string | undefined;
            sufixo?: string | undefined;
            prefixo?: string | undefined;
            precisao?: number | undefined;
        }] | readonly ["paragrafo", {
            rotulo: string;
            placeholder?: string | undefined;
            linhas?: number | undefined;
            limiteCaracteres?: number | undefined;
            limpavel?: boolean | undefined;
            erro?: boolean | undefined;
            mensagensErro?: string | string[] | undefined;
            dica?: string | undefined;
            dicaPersistente?: boolean | undefined;
            densidade?: import("../..").CampoDensidade | undefined;
            variante?: import("../..").CampoVariante | undefined;
        }] | readonly ["selecao", {
            rotulo: string;
            placeholder?: string | undefined;
            itens: () => {
                chave: string;
                rotulo: string;
            }[] | Promise<{
                chave: string;
                rotulo: string;
            }[]>;
            limpavel?: boolean | undefined;
            erro?: boolean | undefined;
            mensagensErro?: string | string[] | undefined;
            dica?: string | undefined;
            dicaPersistente?: boolean | undefined;
            densidade?: import("../..").CampoDensidade | undefined;
            variante?: import("../..").CampoVariante | undefined;
        }];
        operador: string;
        valor: any;
    }[], LinhaFiltro<any>[] | {
        coluna: string | number | symbol;
        entrada: readonly ["texto", {
            rotulo: string;
            placeholder?: string | undefined;
            limiteCaracteres?: number | undefined;
            formato?: "texto" | "email" | "url" | "telefone" | "cpfCnpj" | "cep" | undefined;
        }] | readonly ["dataHora", {
            rotulo: string;
            placeholder?: string | undefined;
            modo?: "data" | "dataHora" | undefined;
            limpavel?: boolean | undefined;
            erro?: boolean | undefined;
            mensagensErro?: string | string[] | undefined;
            dica?: string | undefined;
            dicaPersistente?: boolean | undefined;
            min?: string | undefined;
            max?: string | undefined;
            densidade?: import("../..").CampoDensidade | undefined;
            variante?: import("../..").CampoVariante | undefined;
        }] | readonly ["numero", {
            rotulo: string;
            placeholder?: string | undefined;
            sufixo?: string | undefined;
            prefixo?: string | undefined;
            precisao?: number | undefined;
        }] | readonly ["paragrafo", {
            rotulo: string;
            placeholder?: string | undefined;
            linhas?: number | undefined;
            limiteCaracteres?: number | undefined;
            limpavel?: boolean | undefined;
            erro?: boolean | undefined;
            mensagensErro?: string | string[] | undefined;
            dica?: string | undefined;
            dicaPersistente?: boolean | undefined;
            densidade?: import("../..").CampoDensidade | undefined;
            variante?: import("../..").CampoVariante | undefined;
        }] | readonly ["selecao", {
            rotulo: string;
            placeholder?: string | undefined;
            itens: () => {
                chave: string;
                rotulo: string;
            }[] | Promise<{
                chave: string;
                rotulo: string;
            }[]>;
            limpavel?: boolean | undefined;
            erro?: boolean | undefined;
            mensagensErro?: string | string[] | undefined;
            dica?: string | undefined;
            dicaPersistente?: boolean | undefined;
            densidade?: import("../..").CampoDensidade | undefined;
            variante?: import("../..").CampoVariante | undefined;
        }];
        operador: string;
        valor: any;
    }[]>;
    opcoesParaAdicionar: import("vue").ComputedRef<{
        coluna: string | number | symbol;
        operador: import("p-comuns").operadores | keyof typeof import("p-comuns").operadores;
        entrada: ComponenteEntrada;
    }[]>;
    colunaParaAdicionar: import("vue").Ref<string, string>;
    componenteEntrada: (entrada: ComponenteEntrada) => import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        value: {
            type: PropType<string | null | undefined>;
            default: undefined;
        };
        opcoes: {
            type: PropType<{
                rotulo: string;
                placeholder?: string;
            } & {
                limiteCaracteres?: number;
                formato?: "texto" | "email" | "url" | "telefone" | "cpfCnpj" | "cep";
            }>;
            required: true;
        };
    }>, {
        attrs: {
            [x: string]: unknown;
        };
        emit: ((event: "update:value", _v: string | null | undefined) => void) & ((event: "input", _v: string | null | undefined) => void) & ((event: "change", _v: string | null | undefined) => void) & ((event: "focus") => void) & ((event: "blur") => void);
        localValue: import("vue").WritableComputedRef<string | null | undefined, string | null | undefined>;
        inputHtmlType: import("vue").ComputedRef<"text" | "email" | "url">;
        inputMode: import("vue").ComputedRef<string | undefined>;
        onInput: (e: Event) => void;
    }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
        "update:value": (_v: string | null | undefined) => true;
        input: (_v: string | null | undefined) => true;
        change: (_v: string | null | undefined) => true;
        focus: () => true;
        blur: () => true;
    }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        value: {
            type: PropType<string | null | undefined>;
            default: undefined;
        };
        opcoes: {
            type: PropType<{
                rotulo: string;
                placeholder?: string;
            } & {
                limiteCaracteres?: number;
                formato?: "texto" | "email" | "url" | "telefone" | "cpfCnpj" | "cep";
            }>;
            required: true;
        };
    }>> & Readonly<{
        "onUpdate:value"?: ((_v: string | null | undefined) => any) | undefined;
        onInput?: ((_v: string | null | undefined) => any) | undefined;
        onChange?: ((_v: string | null | undefined) => any) | undefined;
        onFocus?: (() => any) | undefined;
        onBlur?: (() => any) | undefined;
    }>, {
        value: string | null | undefined;
    }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any> | import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        value: {
            type: PropType<number | null | undefined>;
            default: undefined;
        };
        opcoes: {
            type: PropType<{
                rotulo: string;
                placeholder?: string;
            } & {
                sufixo?: string;
                prefixo?: string;
                precisao?: number;
            }>;
            required: true;
        };
    }>, {
        attrs: {
            [x: string]: unknown;
        };
        emit: ((event: "update:value", _v: number | null | undefined) => void) & ((event: "input", _v: number | null | undefined) => void) & ((event: "change", _v: number | null | undefined) => void) & ((event: "focus") => void) & ((event: "blur") => void);
        displayValue: import("vue").Ref<string, string>;
        isInteiro: import("vue").ComputedRef<boolean>;
        onUpdateModelValue: (texto: string) => void;
    }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
        "update:value": (_v: number | null | undefined) => true;
        input: (_v: number | null | undefined) => true;
        change: (_v: number | null | undefined) => true;
        focus: () => true;
        blur: () => true;
    }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        value: {
            type: PropType<number | null | undefined>;
            default: undefined;
        };
        opcoes: {
            type: PropType<{
                rotulo: string;
                placeholder?: string;
            } & {
                sufixo?: string;
                prefixo?: string;
                precisao?: number;
            }>;
            required: true;
        };
    }>> & Readonly<{
        "onUpdate:value"?: ((_v: number | null | undefined) => any) | undefined;
        onInput?: ((_v: number | null | undefined) => any) | undefined;
        onChange?: ((_v: number | null | undefined) => any) | undefined;
        onFocus?: (() => any) | undefined;
        onBlur?: (() => any) | undefined;
    }>, {
        value: number | null | undefined;
    }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any> | import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        value: {
            type: PropType<string | null | undefined>;
            default: undefined;
        };
        opcoes: {
            type: PropType<{
                rotulo: string;
                placeholder?: string;
            } & {
                modo?: "data" | "dataHora";
                limpavel?: boolean;
                erro?: boolean;
                mensagensErro?: string | string[];
                dica?: string;
                dicaPersistente?: boolean;
                min?: string;
                max?: string;
                densidade?: import("../..").CampoDensidade;
                variante?: import("../..").CampoVariante;
            }>;
            required: false;
            default: undefined;
        };
        modelValue: {
            type: PropType<string | null>;
            default: null;
        };
        modo: {
            type: PropType<"data" | "dataHora" | undefined>;
            default: undefined;
        };
        rotulo: {
            type: StringConstructor;
            default: undefined;
        };
        placeholder: {
            type: StringConstructor;
            default: undefined;
        };
        desabilitado: {
            type: BooleanConstructor;
            default: undefined;
        };
        limpavel: {
            type: BooleanConstructor;
            default: undefined;
        };
        erro: {
            type: BooleanConstructor;
            default: undefined;
        };
        mensagensErro: {
            type: PropType<string | string[]>;
            default: undefined;
        };
        dica: {
            type: StringConstructor;
            default: undefined;
        };
        dicaPersistente: {
            type: BooleanConstructor;
            default: undefined;
        };
        densidade: {
            type: PropType<import("../..").CampoDensidade>;
            default: undefined;
        };
        variante: {
            type: PropType<import("../..").CampoVariante>;
            default: undefined;
        };
        min: {
            type: PropType<string | undefined>;
            default: undefined;
        };
        max: {
            type: PropType<string | undefined>;
            default: undefined;
        };
    }>, {
        attrs: {
            [x: string]: unknown;
        };
        valor: import("vue").WritableComputedRef<string, string>;
        tipoInput: import("vue").ComputedRef<"date" | "datetime-local">;
        minLocal: import("vue").ComputedRef<string | undefined>;
        maxLocal: import("vue").ComputedRef<string | undefined>;
        opcoesEfetivas: import("vue").ComputedRef<{
            rotulo: string;
            placeholder?: string;
        } & {
            modo?: "data" | "dataHora";
            limpavel?: boolean;
            erro?: boolean;
            mensagensErro?: string | string[];
            dica?: string;
            dicaPersistente?: boolean;
            min?: string;
            max?: string;
            densidade?: import("../..").CampoDensidade;
            variante?: import("../..").CampoVariante;
        }>;
        desabilitadoEfetivo: import("vue").ComputedRef<boolean>;
        emitCompatFocus: () => void;
        emitCompatBlur: () => void;
    }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
        "update:value": (_v: string | null) => true;
        input: (_v: string | null) => true;
        change: (_v: string | null) => true;
        "update:modelValue": (_v: string | null) => true;
        alterar: (_v: string | null) => true;
        foco: () => true;
        desfoco: () => true;
        focus: () => true;
        blur: () => true;
    }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        value: {
            type: PropType<string | null | undefined>;
            default: undefined;
        };
        opcoes: {
            type: PropType<{
                rotulo: string;
                placeholder?: string;
            } & {
                modo?: "data" | "dataHora";
                limpavel?: boolean;
                erro?: boolean;
                mensagensErro?: string | string[];
                dica?: string;
                dicaPersistente?: boolean;
                min?: string;
                max?: string;
                densidade?: import("../..").CampoDensidade;
                variante?: import("../..").CampoVariante;
            }>;
            required: false;
            default: undefined;
        };
        modelValue: {
            type: PropType<string | null>;
            default: null;
        };
        modo: {
            type: PropType<"data" | "dataHora" | undefined>;
            default: undefined;
        };
        rotulo: {
            type: StringConstructor;
            default: undefined;
        };
        placeholder: {
            type: StringConstructor;
            default: undefined;
        };
        desabilitado: {
            type: BooleanConstructor;
            default: undefined;
        };
        limpavel: {
            type: BooleanConstructor;
            default: undefined;
        };
        erro: {
            type: BooleanConstructor;
            default: undefined;
        };
        mensagensErro: {
            type: PropType<string | string[]>;
            default: undefined;
        };
        dica: {
            type: StringConstructor;
            default: undefined;
        };
        dicaPersistente: {
            type: BooleanConstructor;
            default: undefined;
        };
        densidade: {
            type: PropType<import("../..").CampoDensidade>;
            default: undefined;
        };
        variante: {
            type: PropType<import("../..").CampoVariante>;
            default: undefined;
        };
        min: {
            type: PropType<string | undefined>;
            default: undefined;
        };
        max: {
            type: PropType<string | undefined>;
            default: undefined;
        };
    }>> & Readonly<{
        "onUpdate:value"?: ((_v: string | null) => any) | undefined;
        onInput?: ((_v: string | null) => any) | undefined;
        onChange?: ((_v: string | null) => any) | undefined;
        onFocus?: (() => any) | undefined;
        onBlur?: (() => any) | undefined;
        "onUpdate:modelValue"?: ((_v: string | null) => any) | undefined;
        onAlterar?: ((_v: string | null) => any) | undefined;
        onFoco?: (() => any) | undefined;
        onDesfoco?: (() => any) | undefined;
    }>, {
        modo: "data" | "dataHora" | undefined;
        limpavel: boolean;
        erro: boolean;
        mensagensErro: string | string[];
        dica: string;
        dicaPersistente: boolean;
        min: string | undefined;
        max: string | undefined;
        densidade: import("../..").CampoDensidade;
        variante: import("../..").CampoVariante;
        opcoes: {
            rotulo: string;
            placeholder?: string;
        } & {
            modo?: "data" | "dataHora";
            limpavel?: boolean;
            erro?: boolean;
            mensagensErro?: string | string[];
            dica?: string;
            dicaPersistente?: boolean;
            min?: string;
            max?: string;
            densidade?: import("../..").CampoDensidade;
            variante?: import("../..").CampoVariante;
        };
        value: string | null | undefined;
        placeholder: string;
        modelValue: string | null;
        rotulo: string;
        desabilitado: boolean;
    }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
    opcoesEntrada: (entrada: ComponenteEntrada) => any;
    adicionar: () => void;
    remover: (idx: number) => void;
    emitFechar: () => void;
    emitSalvar: () => void;
    emitLimpar: () => void;
    rotuloDoFiltro: typeof rotuloDoFiltro;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    fechar: () => true;
    limpar: () => true;
    salvar: (_linhas: any[]) => true;
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    aberto: {
        type: BooleanConstructor;
        required: true;
    };
    filtrosBase: {
        type: PropType<Array<FiltroBase<any>>>;
        required: true;
    };
    modelo: {
        type: PropType<Array<any>>;
        required: true;
    };
}>> & Readonly<{
    onFechar?: (() => any) | undefined;
    onSalvar?: ((_linhas: any[]) => any) | undefined;
    onLimpar?: (() => any) | undefined;
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
declare const _default: typeof __VLS_export;
export default _default;
