import type { CodeWalkthroughFile, CodeWalkthroughFilter, InputsMarkdocAttr, TogglesMarkdocAttr, CodeWalkthroughFilterItem, CodeWalkthroughConditionsObject } from '@redocly/config';
export type ActiveFilter = {
    id: string;
    label?: string;
    items: CodeWalkthroughFilterItem[];
};
export type WalkthroughControlsState = {
    activeFilters: ActiveFilter[];
    getControlState: (id: string) => {
        value: string | boolean;
        render: boolean;
    } | null;
    changeControlState: (id: string, value: string | boolean) => void;
    areConditionsMet: (conditions: CodeWalkthroughConditionsObject) => boolean;
    handleDownloadCode: (files: CodeWalkthroughFile[]) => Promise<void>;
    getFileText: (file: CodeWalkthroughFile) => string;
    populateInputsWithValue: (node: string) => string;
};
export declare function useCodeWalkthroughControls(filters: Record<string, CodeWalkthroughFilter>, inputs: InputsMarkdocAttr, toggles: TogglesMarkdocAttr, enableDeepLink: boolean): WalkthroughControlsState;
