import { Address, FixedSizeCodec, FixedSizeDecoder, FixedSizeEncoder } from '@solana/kit';
import { TokenAccountState, TokenAccountStateArgs } from '.';
export type TokenAccount = {
    mint: Address;
    owner: Address;
    amount: bigint;
    delegateFlag: number;
    delegate: Address;
    state: TokenAccountState;
    isNativeFlag: number;
    nativeAmount: bigint;
    delegateAmount: bigint;
    closeAuthorityFlag: number;
    closeAuthority: Address;
};
export type TokenAccountArgs = {
    mint: Address;
    owner: Address;
    amount: number | bigint;
    delegateFlag: number;
    delegate: Address;
    state: TokenAccountStateArgs;
    isNativeFlag: number;
    nativeAmount: number | bigint;
    delegateAmount: number | bigint;
    closeAuthorityFlag: number;
    closeAuthority: Address;
};
export declare function getTokenAccountEncoder(): FixedSizeEncoder<TokenAccountArgs>;
export declare function getTokenAccountDecoder(): FixedSizeDecoder<TokenAccount>;
export declare function getTokenAccountCodec(): FixedSizeCodec<TokenAccountArgs, TokenAccount>;
