export declare const trackSchemaType = "TrackSchema";
export declare const userSchemaType = "UserSchema";
export declare const playlistSchemaType = "PlaylistSchema";
type SchemaConfig = {
    schema: {
        definitions: Record<string, {
            required: string[];
            properties: Record<string, {
                default: unknown;
            }>;
        } | {}>;
    };
    baseDefinition: string;
    validate?: (obj: Record<string, unknown>) => void;
};
type SchemaType = typeof trackSchemaType | typeof userSchemaType | typeof playlistSchemaType;
export type Schemas = {
    TrackSchema: SchemaConfig;
    UserSchema: SchemaConfig;
    PlaylistSchema: SchemaConfig;
};
export declare class SchemaValidator {
    schemas: Schemas | undefined;
    init(): void;
    getSchemas(): Schemas | undefined;
    addMissingFields(obj: Record<string, unknown>, schemaType: SchemaType): void;
}
export {};
