import { Table } from '../vendor/table.js'; import type { Requirements } from '@console-one/assessable'; export declare class Metric { name: string; indices: { [key: string]: number; }; partitionKeys: string[]; filter?: Requirements; constructor(name: string, partitionKeys: string[], filter?: Requirements); get schema(): Requirements; toJSON(): any; key(): Metric.Key; static fromJSON(json: any): Metric; static Builder: { new (): { partitionKeys: string[]; filters: Requirements[]; last?: Requirements; schemaPreds?: boolean; name: string; partitionBy(...partitionKeys: string[]): /*elided*/ any; where(schema: any): /*elided*/ any; iff(requirement: any): /*elided*/ any; or(requirement: any): /*elided*/ any; and(requirement: Requirements): /*elided*/ any; as(name: string): /*elided*/ any; build(): Metric; }; }; static builder: () => { partitionKeys: string[]; filters: Requirements[]; last?: Requirements; schemaPreds?: boolean; name: string; partitionBy(...partitionKeys: string[]): /*elided*/ any; where(schema: any): /*elided*/ any; iff(requirement: any): /*elided*/ any; or(requirement: any): /*elided*/ any; and(requirement: Requirements): /*elided*/ any; as(name: string): /*elided*/ any; build(): Metric; }; } export declare namespace Metric { type Key = Table.Columns.Default; } //# sourceMappingURL=metric.d.ts.map