import { ComputedRef } from 'vue';
import { LocationQuery } from 'vue-router';
import { BlockDocumentFilter, BlockDocumentsFilter, BlockSchemaFilter, BlockSchemasFilter, BlockTypeFilter, BlockTypesFilter, DeploymentFilter, DeploymentsFilter, DeploymentsPaginationFilter, DeploymentVersionIdFilter, DeploymentVersionInfoFilter, FlowFilter, FlowRunFilter, FlowRunsFilter, FlowRunsHistoryFilter, FlowRunsPaginationFilter, FlowsFilter, FlowsPaginationFilter, StateFilter, TagFilter, TaskRunFilter, TaskRunsFilter, VariableFilter, VariablesFilter, WithPage, WorkersFilter, WorkPoolFilter, WorkPoolQueueFilter, WorkPoolsFilter, WorkPoolWorkersPagination } from '../models/Filters';
import { AnyRecord } from '../types/any';
import { MaybeReactive } from '../types/reactivity';
export type Filter<T extends AnyRecord> = {
    [P in keyof Required<T>]: [T[P]] extends [AnyRecord | undefined] ? Filter<Exclude<T[P], undefined>> : T[P];
};
export type FilterFunctions<T extends AnyRecord> = {
    clear: () => void;
    set: (filters: T) => void;
    isDefaultFilter: ComputedRef<boolean>;
    isCustomFilter: ComputedRef<boolean>;
};
export type UseFilter<T extends AnyRecord> = {
    filter: Filter<T>;
} & FilterFunctions<T>;
export declare function useTagFilter(defaultValue?: MaybeReactive<TagFilter>): UseFilter<TagFilter>;
export declare function useDeploymentVersionIdFilter(defaultValue?: MaybeReactive<Partial<DeploymentVersionIdFilter>>): UseFilter<DeploymentVersionIdFilter>;
export declare function useDeploymentVersionInfoFilter(defaultValue?: MaybeReactive<DeploymentVersionInfoFilter>): UseFilter<DeploymentVersionInfoFilter>;
export declare function useStateFilter(defaultValue?: MaybeReactive<StateFilter>): UseFilter<StateFilter>;
export declare function useFlowFilter(defaultValue?: MaybeReactive<FlowFilter>): UseFilter<FlowFilter>;
export declare function useFlowRunFilter(defaultValue?: MaybeReactive<FlowRunFilter>): UseFilter<FlowRunFilter>;
export declare function useTaskRunFilter(defaultValue?: MaybeReactive<TaskRunFilter>): UseFilter<TaskRunFilter>;
export declare function useDeploymentFilter(defaultValue?: MaybeReactive<DeploymentFilter>): UseFilter<DeploymentFilter>;
export declare function useWorkPoolFilter(defaultValue?: MaybeReactive<WorkPoolFilter>): UseFilter<WorkPoolFilter>;
export declare function useWorkPoolQueueFilter(defaultValue?: MaybeReactive<WorkPoolQueueFilter>): UseFilter<WorkPoolQueueFilter>;
export declare function useBlockTypeFilter(defaultValue?: MaybeReactive<BlockTypeFilter>): UseFilter<BlockTypeFilter>;
export declare function useBlockSchemaFilter(defaultValue?: MaybeReactive<BlockSchemaFilter>): UseFilter<BlockSchemaFilter>;
export declare function useBlockDocumentFilter(defaultValue?: MaybeReactive<BlockDocumentFilter>): UseFilter<BlockDocumentFilter>;
export declare function useBlockTypesFilter(defaultValue?: MaybeReactive<BlockTypesFilter>): UseFilter<BlockTypesFilter>;
export declare function useBlockTypesFilterFromRoute(defaultValue?: MaybeReactive<BlockTypesFilter>, prefix?: string): UseFilter<BlockTypesFilter>;
export declare function useBlockSchemasFilter(defaultValue?: MaybeReactive<BlockSchemasFilter>): UseFilter<BlockSchemasFilter>;
export declare function useBlockSchemasFilterFromRoute(defaultValue?: MaybeReactive<BlockSchemasFilter>, prefix?: string): UseFilter<BlockSchemasFilter>;
export declare function useBlockDocumentsFilter(defaultValue?: MaybeReactive<BlockDocumentsFilter>): UseFilter<BlockDocumentsFilter>;
export declare function useBlockDocumentsFilterFromRoute(defaultValue?: MaybeReactive<BlockDocumentsFilter>, prefix?: string): UseFilter<BlockDocumentsFilter>;
export declare function useWorkPoolsFilter(defaultValue?: MaybeReactive<WorkPoolsFilter>): UseFilter<WorkPoolsFilter>;
export declare function useWorkPoolsFilterFromRoute(defaultValue?: MaybeReactive<WorkPoolsFilter>, prefix?: string): UseFilter<WorkPoolsFilter>;
export declare function useFlowsFilter(defaultValue?: MaybeReactive<FlowsFilter>): UseFilter<FlowsFilter>;
export declare function useFlowRunsFilter(defaultValue?: MaybeReactive<FlowRunsFilter>): UseFilter<FlowRunsFilter>;
export declare function useTaskRunsFilter(defaultValue?: MaybeReactive<TaskRunsFilter>): UseFilter<TaskRunsFilter>;
export declare function useDeploymentsFilter(defaultValue?: MaybeReactive<DeploymentsFilter>): UseFilter<DeploymentsFilter>;
export declare function useFlowsPaginationFilter(defaultValue?: MaybeReactive<FlowsPaginationFilter>): UseFilter<WithPage<FlowsPaginationFilter>>;
export declare function useDeploymentsPaginationFilter(defaultValue?: MaybeReactive<DeploymentsPaginationFilter>): UseFilter<WithPage<DeploymentsPaginationFilter>>;
export declare function useFlowRunsPaginationFilter(defaultValue?: MaybeReactive<FlowRunsPaginationFilter>): UseFilter<WithPage<FlowRunsPaginationFilter>>;
export declare function useFlowsPaginationFilterFromRoute(defaultValue?: MaybeReactive<FlowsPaginationFilter>, prefix?: string): UseFilter<WithPage<FlowsPaginationFilter>>;
export declare function useDeploymentsPaginationFilterFromRoute(defaultValue?: MaybeReactive<DeploymentsPaginationFilter>, prefix?: string): UseFilter<WithPage<DeploymentsPaginationFilter>>;
export declare function useFlowRunsPaginationFilterFromRoute(defaultValue?: MaybeReactive<FlowRunsPaginationFilter>, prefix?: string): UseFilter<WithPage<FlowRunsPaginationFilter>>;
export declare function useVariableFilter(defaultValue?: MaybeReactive<VariableFilter>): UseFilter<VariableFilter>;
export declare function useVariablesFilter(defaultValue?: MaybeReactive<VariablesFilter>): UseFilter<VariablesFilter>;
export declare function useFlowsFilterFromRoute(defaultValue?: MaybeReactive<FlowsFilter>, prefix?: string): UseFilter<FlowsFilter>;
export declare function useFlowRunsFilterFromRoute(defaultValue?: MaybeReactive<FlowRunsFilter>, prefix?: string): UseFilter<FlowRunsFilter>;
export declare function getQueryForFlowRunsFilter(filter: FlowRunsFilter): LocationQuery;
export declare function useTaskRunsFilterFromRoute(defaultValue?: MaybeReactive<TaskRunsFilter>, prefix?: string): UseFilter<TaskRunsFilter>;
export declare function useDeploymentsFilterFromRoute(defaultValue?: MaybeReactive<DeploymentsFilter>, prefix?: string): UseFilter<DeploymentsFilter>;
export declare function useRecentFlowRunsFilter(defaultValue: MaybeReactive<FlowRunsFilter>): UseFilter<FlowRunsFilter>;
export declare function useRecentFlowRunsFilterFromRoute(defaultValue?: MaybeReactive<FlowRunsFilter>, prefix?: string): UseFilter<FlowRunsFilter>;
export declare function useFlowRunsHistoryFilter(defaultValue: MaybeReactive<FlowRunsHistoryFilter>): UseFilter<FlowRunsHistoryFilter>;
export declare function useFlowRunsHistoryFilterFromRoute(defaultValue: MaybeReactive<FlowRunsHistoryFilter>, prefix?: string): UseFilter<FlowRunsHistoryFilter>;
export declare function useWorkersFilter(defaultValue?: MaybeReactive<WorkersFilter>): UseFilter<WorkersFilter>;
export declare function useWorkPoolWorkerPaginationFilter(defaultValue?: MaybeReactive<WorkPoolWorkersPagination>): UseFilter<WorkPoolWorkersPagination>;
