import { GetTokenHoldersAtSnapshotRequest, GetTotalTokenHoldersAtSnapshotRequest, TakeSnapshotRequest } from "../../request";
import BalancesOfAtSnapshotRequest from "../../../in/request/snapshots/BalancesOfAtSnapshotRequest";
import { BaseSecurityInPort } from "../BaseSecurityInPort";
export interface ISecurityInPortSnapshot {
    takeSnapshot(request: TakeSnapshotRequest): Promise<{
        payload: number;
        transactionId: string;
    }>;
    getTokenHoldersAtSnapshot(request: GetTokenHoldersAtSnapshotRequest): Promise<string[]>;
    getTotalTokenHoldersAtSnapshot(request: GetTotalTokenHoldersAtSnapshotRequest): Promise<number>;
    balancesOfAtSnapshot(request: BalancesOfAtSnapshotRequest): Promise<{
        holder: string;
        balance: bigint;
    }[]>;
}
export declare class SecurityInPortSnapshot extends BaseSecurityInPort implements ISecurityInPortSnapshot {
    takeSnapshot(request: TakeSnapshotRequest): Promise<{
        payload: number;
        transactionId: string;
    }>;
    getTokenHoldersAtSnapshot(request: GetTokenHoldersAtSnapshotRequest): Promise<string[]>;
    getTotalTokenHoldersAtSnapshot(request: GetTotalTokenHoldersAtSnapshotRequest): Promise<number>;
    balancesOfAtSnapshot(request: BalancesOfAtSnapshotRequest): Promise<{
        holder: string;
        balance: bigint;
    }[]>;
}
