import pl from 'nodejs-polars';
export interface SingerSchema {
    type: string[] | string;
    properties?: Record<string, SingerSchema>;
    items?: SingerSchema;
    format?: string;
}
export interface SingerHeaderMap {
    type: string[];
    properties: Record<string, SingerSchema>;
}
export interface TypeMapping {
    [key: string]: SingerSchema;
}
export declare function genSingerHeader(df: pl.DataFrame, allowObjects: boolean, schema?: SingerHeaderMap, catalogSchema?: boolean, recursiveTyping?: boolean): [pl.DataFrame, SingerHeaderMap];
export declare function toSingerSchema(input: any): SingerSchema;
export declare function deepConvertDatetimes(value: any): any;
export declare function parseObjs(x: any): any;
export declare function getCatalogSchema(stream: string): SingerHeaderMap;
export declare function parseDfCols(df: pl.DataFrame, schema: SingerHeaderMap): pl.DataFrame;
export declare function toSinger(df: pl.DataFrame, stream: string, outputDir: string, options?: {
    keys?: string[];
    filename?: string;
    allowObjects?: boolean;
    schema?: SingerHeaderMap;
    keepNullFields?: boolean;
    catalogStream?: string;
    recursiveTyping?: boolean;
}): void;
//# sourceMappingURL=singer.d.ts.map