import type { MessageSigner } from '../types/signer.js';
import type { Pagination } from '../types/message-types.js';
import type { ProgressToken } from '../types/subscriptions.js';
import type { ValidationStateReader } from '../types/validation-state-reader.js';
import type { DataEncodedRecordsWriteMessage, DateSort, RecordsFilter, RecordsSubscribeMessage } from '../types/records-types.js';
import { AbstractMessage } from '../core/abstract-message.js';
export type RecordsSubscribeOptions = {
    messageTimestamp?: string;
    filter: RecordsFilter;
    dateSort?: DateSort;
    pagination?: Pagination;
    signer?: MessageSigner;
    permissionGrantId?: string;
    protocolRole?: string;
    /**
     * Progress token to resume from. When provided, catch-up events are replayed
     * from the EventLog and an EOSE marker is delivered before live events.
     */
    cursor?: ProgressToken;
    /**
     * 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 RecordsSubscribe DWN message.
 */
export declare class RecordsSubscribe extends AbstractMessage<RecordsSubscribeMessage> {
    static parse(message: RecordsSubscribeMessage): Promise<RecordsSubscribe>;
    static create(options: RecordsSubscribeOptions): Promise<RecordsSubscribe>;
    /**
   * 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-subscribe.d.ts.map