import { ICompatibilities, ISchemaRegistryConfig } from './interfaces';
export declare const create: (config: ISchemaRegistryConfig) => {
    ping: () => Promise<import("@biorate/axios-prometheus").AxiosResponse<Record<string, unknown>, any, {}>>;
    getSchemasById: (id: number) => Promise<import("@biorate/axios-prometheus").AxiosResponse<{
        schema: string;
    }, any, {}>>;
    getSchemasTypes: () => Promise<import("@biorate/axios-prometheus").AxiosResponse<string[], any, {}>>;
    getSchemasVersionsById: (id: number) => Promise<import("@biorate/axios-prometheus").AxiosResponse<{
        subject: string;
        version: number;
    }[], any, {}>>;
    getSubjects: () => Promise<import("@biorate/axios-prometheus").AxiosResponse<string[], any, {}>>;
    getSubjectsVersions: (subject: string) => Promise<import("@biorate/axios-prometheus").AxiosResponse<number[], any, {}>>;
    deleteSubjects: (data: {
        subject: string;
        permanent?: boolean;
    }) => Promise<import("@biorate/axios-prometheus").AxiosResponse<number[], any, {}>>;
    getSubjectsByVersion: (data: {
        subject: string;
        version: number | string;
    }) => Promise<import("@biorate/axios-prometheus").AxiosResponse<{
        subject: string;
        id: number;
        version: number;
        schemaType: string;
        schema: string;
    }, any, {}>>;
    getSchemaBySubjectsAndVersion: (data: {
        subject: string;
        version: number | string;
    }) => Promise<import("@biorate/axios-prometheus").AxiosResponse<unknown, any, {}>>;
    postSubjects: (data: {
        subject: string;
        schema: string | Record<string, any>;
        schemaType?: string;
        reference?: string;
        normalize?: boolean;
    }) => Promise<import("@biorate/axios-prometheus").AxiosResponse<{
        subject: string;
        id: number;
        version: number;
        schema: string;
    }, any, {}>>;
    postSubjectsVersions: (data: {
        subject: string;
        schema: string | Record<string, any>;
        schemaType?: string;
        reference?: string;
        normalize?: boolean;
    }) => Promise<import("@biorate/axios-prometheus").AxiosResponse<{
        id: number;
    }, any, {}>>;
    putConfig: (data: {
        subject: string;
        compatibility: ICompatibilities;
    }) => Promise<import("@biorate/axios-prometheus").AxiosResponse<{
        compatibility: ICompatibilities;
    }, any, {}>>;
    encode: (subject: string, data: Record<string, any>, version?: string | number) => Promise<Buffer>;
    decode: (buffer: Buffer) => Promise<any>;
};
