import { AllRuleSetsResponse, RuleTier, StationItem, ScopesTreeResponse, Tier } from '../types';
/** Tracks newly created variant IDs and their tier for auto-scroll */
export interface CreatedVariantInfo {
    /** Tier name key (e.g., 'tier1', 'tier2') */
    tierName: string;
    /** Variant IDs created in this tier */
    variants: {
        id: string;
        action: 'new' | 'existing';
    }[];
}
interface RuleTemplateState {
    sidebarTab: 'rule-sets' | 'stations';
    selectedRuleSetId: string | null;
    ruleSets: AllRuleSetsResponse;
    isStationModalOpen: boolean;
    isILModalTriggered: boolean;
    isStationOnboardModalTriggered: boolean;
    scopeTreeData: ScopesTreeResponse | null;
    rawAuditRuleData: any | null;
    setRawAuditRuleData: (data: any) => void;
    stationNameParam: string | null;
    stations: StationItem[];
    selectedStationId: string | null;
    currentRules: RuleTier[];
    /** Newly created variant IDs grouped by tier for auto-scroll */
    createdVariantInfo: CreatedVariantInfo[] | null;
    /** Variant ID from URL param — auto-opens its parent accordion on load */
    urlVariantId: string | null;
    /** Approval action from URL param — auto-opens approval modal when paired with urlVariantId */
    urlApprovalAction: 'approve' | 'reject' | null;
    /** Clears urlVariantId and urlApprovalAction from both store and URL */
    clearUrlApprovalParams: () => void;
    templateMap: Record<string, string>;
    setTemplateData: (appIntegrationId: string, templateName: string) => void;
    setRuleSets: (rules: AllRuleSetsResponse) => void;
    setScopeTreeData: (data: ScopesTreeResponse | null) => void;
    setStationNameParam: (stationName: string | null) => void;
    setStationModalOpen: (open: boolean) => void;
    setIsILModalTriggered: (trigger: boolean) => void;
    setIsStationOnboardModalTriggered: (trigger: boolean) => void;
    setSelectedRuleSetId: (id: string | null) => void;
    toggleRuleTier: (id: string) => void;
    deleteRule: (tierId: string, ruleId: string) => void;
    setInitialRules: (rules: RuleTier[]) => void;
    /** Store created variant info for auto-scroll */
    setCreatedVariantInfo: (info: CreatedVariantInfo[] | null) => void;
    /** Reset after scroll completes */
    resetCreatedVariantInfo: () => void;
    setStations: (stations: StationItem[]) => void;
    addStation: (station: StationItem) => void;
    deleteStation: (id: string) => void;
    error: string | null;
    setError: (error: string | null) => void;
    tiers: Tier[];
    setTiers: (tierIds: Tier[]) => void;
    backwardCompatibility: boolean;
    setBackwardCompatibility: (value: boolean) => void;
    app_integration_id: string | null;
    setAppIntegrationId: (id: string | null) => void;
    token: string;
    setToken: (token: string) => void;
}
export declare const INITIAL_RULE_SETS: AllRuleSetsResponse;
export declare const useLearningTemplateStore: import("zustand").UseBoundStore<import("zustand").StoreApi<RuleTemplateState>>;
export {};
//# sourceMappingURL=useLearningTemplateStore.d.ts.map