import type { MethodHandler } from '..//types/method-handler.js';
import type { DataStore, DidResolver, MessageStore } from '../index.js';
import type { RecordsQueryMessage, RecordsQueryReply } from '../types/records-types.js';
export declare class RecordsQueryHandler implements MethodHandler {
    private didResolver;
    private messageStore;
    private dataStore;
    constructor(didResolver: DidResolver, messageStore: MessageStore, dataStore: DataStore);
    handle({ tenant, message }: {
        tenant: string;
        message: RecordsQueryMessage;
    }): Promise<RecordsQueryReply>;
    /**
     * Fetches the records as the owner of the DWN with no additional filtering.
     */
    private fetchRecordsAsOwner;
    /**
     * Fetches the records as a non-owner, return only:
     * 1. published records; and
     * 2. unpublished records intended for the query author (where `recipient` is the query author)
     */
    private fetchRecordsAsNonOwner;
    /**
     * Fetches only published records.
     */
    private fetchPublishedRecords;
    /**
     * Fetches unpublished records that are intended for the query author (where `recipient` is the author).
     */
    private fetchUnpublishedRecordsForQueryAuthor;
    /**
     * Fetches only unpublished records where the author is the same as the query author.
     */
    private fetchUnpublishedRecordsByAuthor;
}
//# sourceMappingURL=records-query.d.ts.map