export interface Metric {
    key: string;
    value: number;
}
export type Metadata = {
    [key: string]: string;
};
export type SenderMetadata = {
    collection?: string;
    incrementalField?: string;
    keyField?: string;
};
export interface Context {
    timestamp?: Date;
    ttl?: number;
    extraPayload?: {
        [key: string]: string;
    };
}
export type Result = boolean | {
    [index: number]: boolean;
};
export interface SenderSDKInterface {
    metrics(metrics: Array<Metric>, metadata?: Metadata & SenderMetadata, context?: Context): Promise<Result>;
    metricsLegacy<T = never>(metrics: Array<T>, metadata?: Metadata & SenderMetadata, context?: Context, topic?: string): Promise<Result>;
    documents<T = object>(documents: Array<T>, metadata?: Metadata & SenderMetadata, context?: Context): Promise<Result>;
}
