import type { KnowledgeEdgeRecord, KnowledgeIssueRecord, KnowledgeMapFacetValue, KnowledgeMapFacets, KnowledgeMapFilterInput, KnowledgeNodeRecord, KnowledgeSourceRecord } from './types.js';
export interface KnowledgeMapFilterState {
    readonly sources: readonly KnowledgeSourceRecord[];
    readonly nodes: readonly KnowledgeNodeRecord[];
    readonly edges: readonly KnowledgeEdgeRecord[];
    readonly issues: readonly KnowledgeIssueRecord[];
}
export interface KnowledgeMapFilterOptions extends KnowledgeMapFilterInput {
    readonly filters?: KnowledgeMapFilterInput | undefined;
    readonly includeGenerated?: boolean | undefined;
}
export declare function applyKnowledgeMapFilters(state: KnowledgeMapFilterState, options?: KnowledgeMapFilterOptions): KnowledgeMapFilterState;
export declare function buildKnowledgeMapFacets(state: KnowledgeMapFilterState): KnowledgeMapFacets;
export declare function normalizeKnowledgeMapFilters(options?: KnowledgeMapFilterOptions): Required<Pick<KnowledgeMapFilterInput, 'ids' | 'linkedToIds' | 'nodeKinds' | 'sourceTypes' | 'sourceStatuses' | 'nodeStatuses' | 'issueCodes' | 'issueStatuses' | 'issueSeverities' | 'edgeRelations' | 'tags'>> & {
    readonly query?: string | undefined;
    readonly minConfidence?: number | undefined;
    readonly knowledgeSpaceId?: string | undefined;
    readonly includeAllSpaces?: boolean | undefined;
    readonly recordKinds?: ReadonlySet<'source' | 'node' | 'issue'> | undefined;
};
export declare function normalizeStringArray(value: unknown): readonly string[];
export declare function readString(value: unknown): string | undefined;
export declare function readNumber(value: unknown): number | undefined;
export declare function readBoolean(value: unknown): boolean | undefined;
export declare function countFacet(values: readonly unknown[]): readonly KnowledgeMapFacetValue[];
export declare function readTags(metadata: Record<string, unknown>): readonly string[];
//# sourceMappingURL=map-filters.d.ts.map