import type { MessageSigner } from '../types/signer.js';
import type { ValidationStateReader } from '../types/validation-state-reader.js';
import type { DataEncodedRecordsWriteMessage, RecordsCountMessage, RecordsFilter } from '../types/records-types.js';
import { AbstractMessage } from '../core/abstract-message.js';
export type RecordsCountOptions = {
    messageTimestamp?: string;
    filter: RecordsFilter;
    signer?: MessageSigner;
    permissionGrantId?: string;
    protocolRole?: string;
    /**
     * The delegated grant to sign on behalf of the logical author, which is the grantor (`grantedBy`) of the delegated grant.
     */
    delegatedGrant?: DataEncodedRecordsWriteMessage;
};
/**
 * A class representing a RecordsCount DWN message.
 */
export declare class RecordsCount extends AbstractMessage<RecordsCountMessage> {
    static parse(message: RecordsCountMessage): Promise<RecordsCount>;
    static create(options: RecordsCountOptions): Promise<RecordsCount>;
    /**
     * Authorizes the delegate who signed the message.
     * @param validationStateReader Used to check if the grant has been revoked.
     */
    authorizeDelegate(validationStateReader: ValidationStateReader): Promise<void>;
}
//# sourceMappingURL=records-count.d.ts.map