import { Association, AssociationCreateOrUpdateRequest, AssociationResponse, Client, Compatibility, LifecyclePolicy, SchemaInfo, SchemaMetadata, ServerConfig } from './schemaregistry-client';
import { ClientConfig } from "./rest-service";
declare class MockClient implements Client {
    private clientConfig?;
    private infoToSchemaCache;
    private idToSchemaCache;
    private guidToSchemaCache;
    private schemaToVersionCache;
    private configCache;
    private associationCache;
    private counter;
    constructor(config?: ClientConfig);
    config(): ClientConfig;
    register(subject: string, schema: SchemaInfo, normalize?: boolean): Promise<number>;
    registerFullResponse(subject: string, schema: SchemaInfo, normalize?: boolean): Promise<SchemaMetadata>;
    private getIDFromRegistry;
    private generateVersion;
    getBySubjectAndId(subject: string, id: number, format?: string): Promise<SchemaInfo>;
    getByGuid(guid: string, format?: string): Promise<SchemaInfo>;
    getId(subject: string, schema: SchemaInfo): Promise<number>;
    getIdFullResponse(subject: string, schema: SchemaInfo): Promise<SchemaMetadata>;
    getLatestSchemaMetadata(subject: string, format?: string): Promise<SchemaMetadata>;
    getSchemaMetadata(subject: string, version: number, deleted?: boolean, format?: string): Promise<SchemaMetadata>;
    getLatestWithMetadata(subject: string, metadata: {
        [key: string]: string;
    }, deleted?: boolean, format?: string): Promise<SchemaMetadata>;
    private isSubset;
    getAllVersions(subject: string): Promise<number[]>;
    private allVersions;
    private latestVersion;
    private deleteVersion;
    private deleteInfo;
    private deleteMetadata;
    getVersion(subject: string, schema: SchemaInfo, normalize?: boolean, deleted?: boolean): Promise<number>;
    getAllSubjects(): Promise<string[]>;
    deleteSubject(subject: string, permanent?: boolean): Promise<number[]>;
    deleteSubjectVersion(subject: string, version: number, permanent?: boolean): Promise<number>;
    testSubjectCompatibility(subject: string, schema: SchemaInfo): Promise<boolean>;
    testCompatibility(subject: string, version: number, schema: SchemaInfo): Promise<boolean>;
    getCompatibility(subject: string): Promise<Compatibility>;
    updateCompatibility(subject: string, compatibility: Compatibility): Promise<Compatibility>;
    getDefaultCompatibility(): Promise<Compatibility>;
    updateDefaultCompatibility(compatibility: Compatibility): Promise<Compatibility>;
    getConfig(subject: string): Promise<ServerConfig>;
    updateConfig(subject: string, config: ServerConfig): Promise<ServerConfig>;
    getDefaultConfig(): Promise<ServerConfig>;
    updateDefaultConfig(config: ServerConfig): Promise<ServerConfig>;
    getAssociationsByResourceName(resourceName: string, resourceNamespace: string, resourceType: string | null, associationTypes: string[], lifecycle: LifecyclePolicy | null, offset: number, limit: number): Promise<Association[]>;
    createAssociation(request: AssociationCreateOrUpdateRequest): Promise<AssociationResponse>;
    deleteAssociations(resourceId: string, resourceType: string | null, associationTypes: string[] | null, cascadeLifecycle: boolean): Promise<void>;
    clearLatestCaches(): void;
    clearCaches(): void;
    close(): Promise<void>;
    private schemasEqual;
}
export { MockClient };
