import { Query } from "../../../src/core/query/Query";
import { IQueryHandler } from "../../../src/core/query/QueryHandler";
import { QueryResponse } from "../../../src/core/query/QueryResponse";
export declare class ConcreteQueryResponse implements QueryResponse {
    readonly payload: number;
    constructor(payload: number);
}
export declare class ConcreteQuery extends Query<ConcreteQueryResponse> {
    readonly itemId: string;
    readonly payload: number;
    constructor(itemId: string, payload: number);
}
export declare class ConcreteQueryRepository {
    map: Map<ConcreteQuery, any>;
}
export declare class ConcreteQueryHandler implements IQueryHandler<ConcreteQuery> {
    private readonly repo;
    constructor(repo?: ConcreteQueryRepository);
    execute(query: ConcreteQuery): Promise<ConcreteQueryResponse>;
}
