import type { Instance } from 'mobx-state-tree';
export declare function facetedStateTreeF(): import("mobx-state-tree").IModelType<{
    filterText: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
    showSparse: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
    showFilters: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
    showOptions: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
    panelWidth: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<number>, [undefined]>;
}, {
    visible: Record<string, boolean>;
    useShoppingCart: boolean;
    filters: import("mobx").ObservableMap<string, string[]>;
} & {
    setFilter(key: string, value: string[]): void;
    setPanelWidth(width: number): number;
    setUseShoppingCart(f: boolean): void;
    setFilterText(str: string): void;
    setShowSparse(f: boolean): void;
    setShowOptions(f: boolean): void;
    setShowFilters(f: boolean): void;
} & {
    readonly allTrackConfigurations: ({
        [x: string]: any;
    } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
        setSubschema(slotName: string, data: Record<string, unknown>): Record<string, unknown> | ({
            [x: string]: any;
        } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
            setSubschema(slotName: string, data: Record<string, unknown>): Record<string, unknown> | ({
                [x: string]: any;
            } & import("mobx-state-tree/dist/internal").NonEmptyObject & any & import("mobx-state-tree").IStateTreeNode<import("@jbrowse/core/configuration").AnyConfigurationSchemaType>);
        } & import("mobx-state-tree").IStateTreeNode<import("@jbrowse/core/configuration").AnyConfigurationSchemaType>);
    } & import("mobx-state-tree").IStateTreeNode<import("@jbrowse/core/configuration").AnyConfigurationSchemaType>)[];
} & {
    readonly rows: {
        readonly id: string;
        readonly conf: {
            [x: string]: any;
        } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
            setSubschema(slotName: string, data: Record<string, unknown>): Record<string, unknown> | ({
                [x: string]: any;
            } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
                setSubschema(slotName: string, data: Record<string, unknown>): Record<string, unknown> | ({
                    [x: string]: any;
                } & import("mobx-state-tree/dist/internal").NonEmptyObject & any & import("mobx-state-tree").IStateTreeNode<import("@jbrowse/core/configuration").AnyConfigurationSchemaType>);
            } & import("mobx-state-tree").IStateTreeNode<import("@jbrowse/core/configuration").AnyConfigurationSchemaType>);
        } & import("mobx-state-tree").IStateTreeNode<import("@jbrowse/core/configuration").AnyConfigurationSchemaType>;
        readonly name: string;
        readonly category: string;
        readonly adapter: string;
        readonly description: string;
        readonly metadata: Record<string, unknown>;
    }[];
} & {
    readonly filteredNonMetadataKeys: string[] | readonly ["category", "adapter", "description"];
    readonly metadataKeys: string[];
    readonly filteredMetadataKeys: string[];
    readonly fields: string[];
    readonly filteredRows: {
        readonly id: string;
        readonly conf: {
            [x: string]: any;
        } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
            setSubschema(slotName: string, data: Record<string, unknown>): Record<string, unknown> | ({
                [x: string]: any;
            } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
                setSubschema(slotName: string, data: Record<string, unknown>): Record<string, unknown> | ({
                    [x: string]: any;
                } & import("mobx-state-tree/dist/internal").NonEmptyObject & any & import("mobx-state-tree").IStateTreeNode<import("@jbrowse/core/configuration").AnyConfigurationSchemaType>);
            } & import("mobx-state-tree").IStateTreeNode<import("@jbrowse/core/configuration").AnyConfigurationSchemaType>);
        } & import("mobx-state-tree").IStateTreeNode<import("@jbrowse/core/configuration").AnyConfigurationSchemaType>;
        readonly name: string;
        readonly category: string;
        readonly adapter: string;
        readonly description: string;
        readonly metadata: Record<string, unknown>;
    }[];
} & {
    setVisible(args: Record<string, boolean>): void;
    afterAttach(): void;
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
export type FacetedStateModel = ReturnType<typeof facetedStateTreeF>;
export type FacetedModel = Instance<FacetedStateModel>;
export type FacetedRow = FacetedModel['filteredRows'][0];
