import { Store, User, WebContext } from "../index.js";
import { CoreModel } from "../models/coremodel.js";
import { WebdaTest } from "../test.js";
import { BinaryMap, BinaryService } from "./binary.js";
export declare class ImageUser extends User {
    images: BinaryMap[];
}
export declare class TestBinaryService extends BinaryService {
    store(object: CoreModel, property: string, file: any, metadatas: any, index?: number): Promise<any>;
    getUsageCount(hash: any): Promise<number>;
    update(object: any, property: any, index: any, file: any, metadatas: any): Promise<void>;
    delete(object: CoreModel, property: string, index: number): Promise<void>;
    challenge(hash: string, challenge: string): void;
    _get(): any;
    cascadeDelete(): Promise<void>;
}
declare class BinaryTest<T extends BinaryService = BinaryService> extends WebdaTest {
    getUserStore(): Store<any>;
    getBinary(): T;
    getMap(): string;
    getExposePath(): string;
    getTestFile(): string;
    before(init?: boolean): Promise<void>;
    normal(): Promise<void>;
    notMapped(): Promise<void>;
    update(): Promise<void>;
    checkMap(): void;
    httpCreate(): Promise<void>;
    httpDelete(): Promise<void>;
    getOperationName(): void;
    httpGetError(): Promise<void>;
    httpGet(): Promise<void>;
    httpMetadata(): Promise<void>;
    getNotFound(): Promise<void>;
    setupDefault(withLogin?: boolean): Promise<{
        userStore: Store;
        binary: BinaryService;
        user1: ImageUser;
        ctx: WebContext;
    }>;
    testChallenge(remoteCheckHash?: boolean): Promise<void>;
    sendChallengeData(info: any, data: string): Promise<any>;
}
export { BinaryTest };
