import type { Hash } from '@ariestools/sdk';
import type { Payload, Schema } from '@xyo-network/sdk';
import type { AllowedBlockPayload } from '@xyo-network/xl1-protocol/protocol-lib';
import type { TransactionFeesInstance } from '../Fees.js';
/** Interface for TransactionFields instances. */
export interface TransactionFieldsInstance<TBlockPayload extends AllowedBlockPayload = AllowedBlockPayload> {
    /** elevated Payload Count configuration or state exposed by this contract. */
    elevatedPayloadCount: number;
    /** elevated Payloads configuration or state exposed by this contract. */
    elevatedPayloads: TBlockPayload[];
    /** external Payloads configuration or state exposed by this contract. */
    externalPayloads: Record<Hash, Schema | Payload>;
    /** Fee limits and prices applied to the transaction. */
    fees: TransactionFeesInstance;
    /** private External Payloads configuration or state exposed by this contract. */
    privateExternalPayloads: Record<Hash, Schema>;
    /** public External Payloads configuration or state exposed by this contract. */
    publicExternalPayloads: Payload[];
    /** signature Count configuration or state exposed by this contract. */
    signatureCount: number;
    /** Returns the elevated payload result exposed by this provider. */
    elevatedPayload(index: number): TBlockPayload | undefined;
    /** Returns the reward result exposed by this provider. */
    reward(): bigint;
}
//# sourceMappingURL=TransactionFields.d.ts.map