/**
 * This code was AUTOGENERATED using the codama library.
 * Please DO NOT EDIT THIS FILE, instead use visitors
 * to add features, then rerun codama to update it.
 *
 * @see https://github.com/codama-idl/codama
 */
import { type Address, type Codec, type Decoder, type Encoder, type IAccountMeta, type IInstruction, type IInstructionWithAccounts, type IInstructionWithData, type ReadonlyAccount, type ReadonlyUint8Array, type WritableAccount } from '@solana/kit';
import { SRSLY_PROGRAM_ADDRESS } from '../programs';
export declare const RESET_RENTAL_DISCRIMINATOR: Uint8Array<ArrayBuffer>;
export declare function getResetRentalDiscriminatorBytes(): ReadonlyUint8Array;
export type ResetRentalInstruction<TProgram extends string = typeof SRSLY_PROGRAM_ADDRESS, TAccountFleet extends string | IAccountMeta<string> = string, TAccountGameId extends string | IAccountMeta<string> = string, TAccountStarbase extends string | IAccountMeta<string> = string, TAccountStarbasePlayer extends string | IAccountMeta<string> = string, TAccountRentalState extends string | IAccountMeta<string> = string, TAccountContract extends string | IAccountMeta<string> = string, TAccountRentalAuthority extends string | IAccountMeta<string> = string, TAccountSageProgram extends string | IAccountMeta<string> = 'sAgezwJpDb1aHvzNr3o24cKjsETmFEKghBEyJ1askDi', TRemainingAccounts extends readonly IAccountMeta<string>[] = []> = IInstruction<TProgram> & IInstructionWithData<Uint8Array> & IInstructionWithAccounts<[
    TAccountFleet extends string ? WritableAccount<TAccountFleet> : TAccountFleet,
    TAccountGameId extends string ? ReadonlyAccount<TAccountGameId> : TAccountGameId,
    TAccountStarbase extends string ? ReadonlyAccount<TAccountStarbase> : TAccountStarbase,
    TAccountStarbasePlayer extends string ? WritableAccount<TAccountStarbasePlayer> : TAccountStarbasePlayer,
    TAccountRentalState extends string ? ReadonlyAccount<TAccountRentalState> : TAccountRentalState,
    TAccountContract extends string ? WritableAccount<TAccountContract> : TAccountContract,
    TAccountRentalAuthority extends string ? ReadonlyAccount<TAccountRentalAuthority> : TAccountRentalAuthority,
    TAccountSageProgram extends string ? ReadonlyAccount<TAccountSageProgram> : TAccountSageProgram,
    ...TRemainingAccounts
]>;
export type ResetRentalInstructionData = {
    discriminator: ReadonlyUint8Array;
};
export type ResetRentalInstructionDataArgs = {};
export declare function getResetRentalInstructionDataEncoder(): Encoder<ResetRentalInstructionDataArgs>;
export declare function getResetRentalInstructionDataDecoder(): Decoder<ResetRentalInstructionData>;
export declare function getResetRentalInstructionDataCodec(): Codec<ResetRentalInstructionDataArgs, ResetRentalInstructionData>;
export type ResetRentalAsyncInput<TAccountFleet extends string = string, TAccountGameId extends string = string, TAccountStarbase extends string = string, TAccountStarbasePlayer extends string = string, TAccountRentalState extends string = string, TAccountContract extends string = string, TAccountRentalAuthority extends string = string, TAccountSageProgram extends string = string> = {
    fleet: Address<TAccountFleet>;
    gameId: Address<TAccountGameId>;
    starbase: Address<TAccountStarbase>;
    starbasePlayer: Address<TAccountStarbasePlayer>;
    rentalState: Address<TAccountRentalState>;
    contract: Address<TAccountContract>;
    rentalAuthority?: Address<TAccountRentalAuthority>;
    sageProgram?: Address<TAccountSageProgram>;
};
export declare function getResetRentalInstructionAsync<TAccountFleet extends string, TAccountGameId extends string, TAccountStarbase extends string, TAccountStarbasePlayer extends string, TAccountRentalState extends string, TAccountContract extends string, TAccountRentalAuthority extends string, TAccountSageProgram extends string, TProgramAddress extends Address = typeof SRSLY_PROGRAM_ADDRESS>(input: ResetRentalAsyncInput<TAccountFleet, TAccountGameId, TAccountStarbase, TAccountStarbasePlayer, TAccountRentalState, TAccountContract, TAccountRentalAuthority, TAccountSageProgram>, config?: {
    programAddress?: TProgramAddress;
}): Promise<ResetRentalInstruction<TProgramAddress, TAccountFleet, TAccountGameId, TAccountStarbase, TAccountStarbasePlayer, TAccountRentalState, TAccountContract, TAccountRentalAuthority, TAccountSageProgram>>;
export type ResetRentalInput<TAccountFleet extends string = string, TAccountGameId extends string = string, TAccountStarbase extends string = string, TAccountStarbasePlayer extends string = string, TAccountRentalState extends string = string, TAccountContract extends string = string, TAccountRentalAuthority extends string = string, TAccountSageProgram extends string = string> = {
    fleet: Address<TAccountFleet>;
    gameId: Address<TAccountGameId>;
    starbase: Address<TAccountStarbase>;
    starbasePlayer: Address<TAccountStarbasePlayer>;
    rentalState: Address<TAccountRentalState>;
    contract: Address<TAccountContract>;
    rentalAuthority: Address<TAccountRentalAuthority>;
    sageProgram?: Address<TAccountSageProgram>;
};
export declare function getResetRentalInstruction<TAccountFleet extends string, TAccountGameId extends string, TAccountStarbase extends string, TAccountStarbasePlayer extends string, TAccountRentalState extends string, TAccountContract extends string, TAccountRentalAuthority extends string, TAccountSageProgram extends string, TProgramAddress extends Address = typeof SRSLY_PROGRAM_ADDRESS>(input: ResetRentalInput<TAccountFleet, TAccountGameId, TAccountStarbase, TAccountStarbasePlayer, TAccountRentalState, TAccountContract, TAccountRentalAuthority, TAccountSageProgram>, config?: {
    programAddress?: TProgramAddress;
}): ResetRentalInstruction<TProgramAddress, TAccountFleet, TAccountGameId, TAccountStarbase, TAccountStarbasePlayer, TAccountRentalState, TAccountContract, TAccountRentalAuthority, TAccountSageProgram>;
export type ParsedResetRentalInstruction<TProgram extends string = typeof SRSLY_PROGRAM_ADDRESS, TAccountMetas extends readonly IAccountMeta[] = readonly IAccountMeta[]> = {
    programAddress: Address<TProgram>;
    accounts: {
        fleet: TAccountMetas[0];
        gameId: TAccountMetas[1];
        starbase: TAccountMetas[2];
        starbasePlayer: TAccountMetas[3];
        rentalState: TAccountMetas[4];
        contract: TAccountMetas[5];
        rentalAuthority: TAccountMetas[6];
        sageProgram: TAccountMetas[7];
    };
    data: ResetRentalInstructionData;
};
export declare function parseResetRentalInstruction<TProgram extends string, TAccountMetas extends readonly IAccountMeta[]>(instruction: IInstruction<TProgram> & IInstructionWithAccounts<TAccountMetas> & IInstructionWithData<Uint8Array>): ParsedResetRentalInstruction<TProgram, TAccountMetas>;
//# sourceMappingURL=resetRental.d.ts.map