export type SatBondPositionLayoutSpec = {
    accountName: string;
    discriminator: number;
    accountHeaderSize: number;
    bodySize: number;
    accountSize: number;
    pdaSeed: string;
    thresholds?: {
        basicMinRaw: string;
        operatorMinRaw: string;
    };
    offsets: {
        version: number;
        status: number;
        tier: number;
        bump?: number;
        policyVersion?: number;
        authority: number;
        bondMint: number;
        bondVault: number;
        amountRaw: number;
        createdAtSlot: number;
        updatedAtSlot: number;
        unlockRequestedAtSlot: number;
        unlockAvailableAtSlot: number;
    };
    status: {
        inactive: number;
        active: number;
        unlocking: number;
        unlocked: number;
    };
    tier: {
        none: number;
        basic: number;
        operator: number;
    };
};
export type SatBondTierPolicyLayoutSpec = {
    accountName: string;
    discriminator: number;
    accountHeaderSize: number;
    bodySize: number;
    accountSize: number;
    pdaSeed: string;
    defaults: {
        basicMinRaw: string;
        operatorMinRaw: string;
        unlockDelaySlots: string;
    };
    offsets: {
        version: number;
        bump: number;
        policyVersion: number;
        basicMinRaw: number;
        operatorMinRaw: number;
        unlockDelaySlots: number;
        scheduledEffectiveSlot: number;
        lastUpdatedSlot: number;
        updateAuthority: number;
    };
};
export type SatBondStakingDistributorLayoutSpec = {
    accountName: string;
    discriminator: number;
    accountHeaderSize: number;
    bodySize: number;
    accountSize: number;
    pdaSeed: string;
    rewardIndexScale: string;
    offsets: {
        version: number;
        bump: number;
        status: number;
        policyVersion: number;
        rewardMint: number;
        rewardVault: number;
        updateAuthority: number;
        minStakeRaw: number;
        totalActiveStakeRaw: number;
        rewardIndexFp: number;
        observedRewardVaultRaw: number;
        lastSyncedSlot: number;
    };
};
export type SatBondStakingPositionLayoutSpec = {
    accountName: string;
    discriminator: number;
    accountHeaderSize: number;
    bodySize: number;
    accountSize: number;
    pdaSeed: string;
    offsets: {
        version: number;
        status: number;
        bump: number;
        policyVersion: number;
        authority: number;
        bondPosition: number;
        activeStakeRaw: number;
        claimableRewardRaw: number;
        rewardDebtFp: number;
        lastSyncedSlot: number;
    };
};
export type SatBondLayoutSpec = SatBondPositionLayoutSpec;
export declare function loadSatBondLayout(env?: NodeJS.ProcessEnv): SatBondPositionLayoutSpec;
export declare function loadSatBondPolicyLayout(env?: NodeJS.ProcessEnv): SatBondTierPolicyLayoutSpec;
export declare function loadSatBondStakingDistributorLayout(env?: NodeJS.ProcessEnv): SatBondStakingDistributorLayoutSpec;
export declare function loadSatBondStakingPositionLayout(env?: NodeJS.ProcessEnv): SatBondStakingPositionLayoutSpec;
