import { Token } from '@dojoengine/torii-wasm/types'; interface TraitSelection { name: string; value: string; } interface TraitMetadataRow { traitName: string; traitValue: string; count: number; } type ActiveFilters = Record>; type AvailableFilters = Record>; interface PrecomputedFilterProperty { property: string; order: number; count: number; } interface PrecomputedFilterData { attributes: string[]; properties: Record; } interface CollectionTraitMetadataPage { projectId: string; traits: TraitMetadataRow[]; } interface CollectionTraitMetadataError { projectId?: string; error: Error; } interface FetchCollectionTraitMetadataOptions { address: string; projects?: string[]; traits?: TraitSelection[]; defaultProjectId?: string; } interface FetchCollectionTraitMetadataResult { pages: CollectionTraitMetadataPage[]; errors: CollectionTraitMetadataError[]; } interface TraitNameSummary { traitName: string; valueCount: number; } interface TraitNameSummaryPage { projectId: string; traits: TraitNameSummary[]; } interface FetchTraitNamesSummaryOptions { address: string; projects?: string[]; defaultProjectId?: string; } interface FetchTraitNamesSummaryResult { pages: TraitNameSummaryPage[]; errors: CollectionTraitMetadataError[]; } interface TraitValueRow { traitValue: string; count: number; } interface TraitValuePage { projectId: string; values: TraitValueRow[]; } interface FetchTraitValuesOptions { address: string; traitName: string; otherTraitFilters?: TraitSelection[]; projects?: string[]; defaultProjectId?: string; } interface FetchTraitValuesResult { pages: TraitValuePage[]; errors: CollectionTraitMetadataError[]; } interface FetchExpandedTraitsMetadataOptions { address: string; traitNames: string[]; otherTraitFilters?: TraitSelection[]; projects?: string[]; defaultProjectId?: string; } declare function fetchTraitNamesSummary(options: FetchTraitNamesSummaryOptions): Promise; declare function aggregateTraitNamesSummary(pages: TraitNameSummaryPage[]): TraitNameSummary[]; declare function fetchTraitValues(options: FetchTraitValuesOptions): Promise; declare function aggregateTraitValues(pages: TraitValuePage[]): TraitValueRow[]; declare function fetchExpandedTraitsMetadata(options: FetchExpandedTraitsMetadataOptions): Promise; declare function flattenActiveFilters(activeFilters: ActiveFilters): TraitSelection[]; declare function fetchCollectionTraitMetadata(options: FetchCollectionTraitMetadataOptions): Promise; declare function aggregateTraitMetadata(pages: CollectionTraitMetadataPage[]): TraitMetadataRow[]; declare function buildAvailableFilters(metadata: TraitMetadataRow[], activeFilters: ActiveFilters): AvailableFilters; declare function buildPrecomputedFilters(availableFilters: AvailableFilters): PrecomputedFilterData; declare function tokenMatchesFilters(token: Pick | { metadata?: any; }, activeFilters: ActiveFilters): boolean; declare function filterTokensByMetadata(tokens: T[], activeFilters: ActiveFilters): T[]; export { type ActiveFilters as A, type CollectionTraitMetadataError as C, type FetchCollectionTraitMetadataOptions as F, type PrecomputedFilterData as P, type TraitMetadataRow as T, fetchExpandedTraitsMetadata as a, fetchTraitNamesSummary as b, fetchTraitValues as c, aggregateTraitMetadata as d, aggregateTraitNamesSummary as e, fetchCollectionTraitMetadata as f, aggregateTraitValues as g, buildAvailableFilters as h, buildPrecomputedFilters as i, flattenActiveFilters as j, filterTokensByMetadata as k, type AvailableFilters as l, type CollectionTraitMetadataPage as m, type FetchCollectionTraitMetadataResult as n, type FetchExpandedTraitsMetadataOptions as o, type FetchTraitNamesSummaryOptions as p, type FetchTraitNamesSummaryResult as q, type FetchTraitValuesOptions as r, type FetchTraitValuesResult as s, tokenMatchesFilters as t, type PrecomputedFilterProperty as u, type TraitNameSummary as v, type TraitNameSummaryPage as w, type TraitSelection as x, type TraitValuePage as y, type TraitValueRow as z };