import { Signature, Struct } from "../../chain/index.js";
import type { AnyAction, NameType } from "../../chain/index.js";
export interface HyperionBaseResponse {
    query_time_ms: number;
    last_indexed_block: number;
    last_indexed_block_time: string;
}
export declare class AccountRamDelta extends Struct {
    account: string;
    delta: number;
}
export declare class AuthSequence extends Struct {
    account: string;
    sequence: string;
}
export declare class Receipt extends Struct {
    receiver: string;
    global_sequence: string;
    recv_sequence: string;
    auth_sequence: AuthSequence[];
}
export declare class GetTransactionResponseAction extends Struct {
    action_ordinal: number;
    creator_action_ordinal: number;
    act: AnyAction;
    account_ram_deltas: AccountRamDelta[];
    signatures: Signature[];
    "@timestamp": string;
    block_num: number;
    block_id: string;
    producer: string;
    trx_id: string;
    global_sequence: number;
    cpu_usage_us: number;
    net_usage_words: number;
    code_sequence: number;
    abi_sequence: number;
    act_digest: string;
    receipts: Receipt[];
    timestamp: string;
}
export declare class GetTransactionResponse extends Struct {
    query_time_ms: number;
    executed: boolean;
    trx_id: string;
    lib: number;
    cached_lib: boolean;
    actions: GetTransactionResponseAction[];
    last_indexed_block: number;
    last_indexed_block_time: string;
}
export declare class ActionDataHeader extends Struct {
    timestamp: number;
    producer: string;
    confirmed: number;
    previous: string;
    transaction_mroot: string;
    action_mroot: string;
    schedule_version: number;
    new_producers?: any;
}
export declare class ActionObject extends Struct {
    action_ordinal: number;
    creator_action_ordinal: number;
    act: AnyAction;
    account_ram_deltas: AccountRamDelta[];
    signatures: Signature[];
    "@timestamp": string;
    timestamp: string;
    block_num: number;
    block_id: string;
    trx_id: string;
    receipts: Receipt[];
    cpu_usage_us: number;
    global_sequence: number;
    producer: string;
    net_usage_words: number;
    code_sequence: number;
    abi_sequence: number;
    act_digest: string;
}
export declare class GetActionsTotal extends Struct {
    value: number;
    relation: string;
}
export declare class GetActionsResponse extends Struct {
    query_time_ms: number;
    cached: boolean;
    lib: number;
    last_indexed_block: number;
    last_indexed_block_time: string;
    total: GetActionsTotal;
    actions: ActionObject[];
}
export declare class HealthService extends Struct {
    service: string;
    status: string;
    time: number;
    service_data?: any;
}
export declare class HealthFeaturesStreaming extends Struct {
    enable: boolean;
    traces: boolean;
    deltas: boolean;
}
export declare class HealthFeaturesTables extends Struct {
    proposals: boolean;
    accounts: boolean;
    voters: boolean;
}
export declare class HealthFeatures extends Struct {
    streaming: HealthFeaturesStreaming;
    tables: HealthFeaturesTables;
    index_deltas: boolean;
    index_transfer_memo: boolean;
    index_all_deltas: boolean;
    deferred_trx: boolean;
    failed_trx: boolean;
    resource_limits: boolean;
    resource_usage: boolean;
}
export declare class HealthResponse extends Struct implements HyperionBaseResponse {
    version: string;
    version_hash: string;
    host: string;
    health: HealthService[];
    features: HealthFeatures;
    query_time_ms: number;
    last_indexed_block: number;
    last_indexed_block_time: string;
}
export declare class ApiUsageTotal extends Struct {
    responses: Record<string, Record<string, number>>;
}
export declare class ApiUsageBucket extends Struct {
    timestamp: string;
    responses: Record<string, Record<string, number>>;
}
export declare class ApiUsageResponse extends Struct implements HyperionBaseResponse {
    total: ApiUsageTotal;
    buckets: ApiUsageBucket[];
    query_time_ms: number;
    last_indexed_block: number;
    last_indexed_block_time: string;
}
export declare class MissedBlocksStats extends Struct {
    by_producer: Record<string, number>;
}
export declare class MissedBlocksResponse extends Struct implements HyperionBaseResponse {
    stats: MissedBlocksStats;
    events: any[];
    query_time_ms: number;
    last_indexed_block: number;
    last_indexed_block_time: string;
}
export declare class ResourceUsageStats extends Struct {
    count: number;
    min: number | null;
    max: number | null;
    avg: number | null;
    sum: number;
    sum_of_squares: number | null;
    variance: number | null;
    variance_population: number | null;
    variance_sampling: number | null;
    std_deviation: number | null;
    std_deviation_population: number | null;
    std_deviation_sampling: number | null;
    std_deviation_bounds_upper: number | null;
    std_deviation_bounds_lower: number | null;
    std_deviation_bounds_upper_population: number | null;
    std_deviation_bounds_lower_population: number | null;
    std_deviation_bounds_upper_sampling: number | null;
    std_deviation_bounds_lower_sampling: number | null;
}
export declare class ResourceUsagePercentiles extends Struct {
    "1.0": number | null;
    "5.0": number | null;
    "25.0": number | null;
    "50.0": number | null;
    "75.0": number | null;
    "95.0": number | null;
    "99.0": number | null;
}
export declare class ResourceUsage extends Struct {
    stats: ResourceUsageStats;
    percentiles: ResourceUsagePercentiles;
}
export declare class GetResourceUsageResponse extends Struct implements HyperionBaseResponse {
    cpu: ResourceUsage;
    net: ResourceUsage;
    cached: boolean;
    query_time_ms: number;
    last_indexed_block: number;
    last_indexed_block_time: string;
}
export interface GetActionsParams {
    /**
     * Notified account to filter actions.
     */
    account?: string;
    /**
     * Filter actions based on code:name (e.g., `sysio.token:transfer`).
     */
    filter?: string;
    /**
     * Track total results (count). Accepts a number or `true` for total count tracking.
     */
    track?: string | number;
    /**
     * Number of results to skip.
     */
    skip?: number;
    /**
     * Limit the number of results per page.
     */
    limit?: number;
    /**
     * Sort direction for results. Accepts `asc`, `desc`, `1`, or `-1`.
     */
    sort?: "asc" | "desc" | "1" | "-1";
    /**
     * Filter actions after the specified date (ISO8601 format).
     */
    after?: string;
    /**
     * Filter actions before the specified date (ISO8601 format).
     */
    before?: string;
    /**
     * Simplified output mode.
     */
    simple?: boolean;
    /**
     * Search only the latest hot index.
     */
    hot_only?: boolean;
    /**
     * Exclude large binary data from the response.
     */
    noBinary?: boolean;
    /**
     * Perform a reversibility check.
     */
    checkLib?: boolean;
}
export declare class Permission extends Struct {
    perm_name: string;
    parent: string;
    required_auth: {
        threshold: number;
        keys: {
            key: string;
            weight: number;
        }[];
        accounts: any[];
    };
}
export declare class Limit extends Struct {
    used: number;
    available: number;
    max: number;
}
export declare class TotalResources extends Struct {
    owner: string;
    net_weight: string;
    cpu_weight: string;
    ram_bytes: number;
}
export declare class SelfDelegatedBandwidth extends Struct {
    from: string;
    to: string;
    net_weight: string;
    cpu_weight: string;
}
export declare class VoterInfo extends Struct {
    owner: string;
    proxy: string;
    producers: string[];
    staked: number;
    last_vote_weight: string;
    proxied_vote_weight: string;
    is_proxy: number;
    flags1: number;
    reserved2: number;
    reserved3: string;
}
export declare class Account extends Struct {
    account_name: string;
    head_block_num: number;
    head_block_time: string;
    privileged: boolean;
    last_code_update: string;
    created: string;
    core_liquid_balance: string;
    ram_quota: number;
    net_weight: number;
    cpu_weight: number;
    net_limit: Limit;
    cpu_limit: Limit;
    ram_usage: number;
    permissions: Permission[];
    total_resources: TotalResources;
    self_delegated_bandwidth: SelfDelegatedBandwidth;
    refund_request?: any;
    voter_info: VoterInfo;
    rex_info?: any;
    subjective_cpu_bill_limit: Limit;
}
export declare class Link extends Struct {
    timestamp: string;
    permission: string;
    code: string;
    action: string;
}
export declare class Token extends Struct {
    symbol: string;
    precision: number;
    amount: number;
    contract: string;
}
export declare class Action extends Struct {
    "@timestamp": string;
    timestamp: string;
    block_num: number;
    block_id: string;
    trx_id: string;
    act: any;
    receipts: Receipt[];
    cpu_usage_us: number;
    net_usage_words: number;
    global_sequence: number;
    producer: string;
    action_ordinal: number;
    creator_action_ordinal: number;
    signatures: Signature[];
}
export declare class GetAccountResponse extends Struct implements HyperionBaseResponse {
    query_time_ms: number;
    last_indexed_block: number;
    last_indexed_block_time: string;
    account: Account;
    links: Link[];
    tokens: Token[];
    total_actions: number;
    actions: Action[];
}
export declare class GetKeyAccountsResponse extends Struct {
    account_names: string[];
}
export interface MissedBlocksParams {
    producer?: NameType;
    after?: string;
    before?: string;
    min_blocks?: number;
}
export interface GetResourceUsageParams {
    code: NameType;
    action: NameType;
}
export interface GetCreatedAccountsParams {
    /**
     * creator account
     */
    account: NameType;
    /**
     * Number of results to skip.
     */
    skip?: number;
    /**
     * Limit the number of results per page.
     */
    limit?: number;
}
export interface CreatedAccount {
    name: string;
    timestamp: string;
    trx_id: string;
}
export declare class GetCreatedAccountsResponse extends Struct implements HyperionBaseResponse {
    accounts: CreatedAccount[];
    query_time_ms: number;
    last_indexed_block: number;
    last_indexed_block_time: string;
}
//# sourceMappingURL=Types.d.ts.map