/**
 * This code was AUTOGENERATED using the kinobi library.
 * Please DO NOT EDIT THIS FILE, instead use visitors
 * to add features, then rerun kinobi to update it.
 *
 * @see https://github.com/metaplex-foundation/kinobi
 */
import { Program, ProgramError } from '@metaplex-foundation/umi';
/** InvalidSystemProgram: Invalid System Program */
export declare class TokExInvalidSystemProgramError extends ProgramError {
    readonly name: string;
    readonly code: number;
    constructor(program: Program, cause?: Error);
}
/** InvalidTokenProgram: Invalid Token Program */
export declare class TokExInvalidTokenProgramError extends ProgramError {
    readonly name: string;
    readonly code: number;
    constructor(program: Program, cause?: Error);
}
/** InvalidAssociatedTokenProgram: Invalid Associated Token Program */
export declare class TokExInvalidAssociatedTokenProgramError extends ProgramError {
    readonly name: string;
    readonly code: number;
    constructor(program: Program, cause?: Error);
}
/** InvalidAssociatedTokenAccount: Invalid Associated Token Account: it should derive from the provided mint and owner */
export declare class TokExInvalidAssociatedTokenAccountError extends ProgramError {
    readonly name: string;
    readonly code: number;
    constructor(program: Program, cause?: Error);
}
/** InvalidProgramOwner: Invalid Program Owner */
export declare class TokExInvalidProgramOwnerError extends ProgramError {
    readonly name: string;
    readonly code: number;
    constructor(program: Program, cause?: Error);
}
/** InvalidTokenMint: Invalid Token Mint: it should be the same as the provided mint account */
export declare class TokExInvalidTokenMintError extends ProgramError {
    readonly name: string;
    readonly code: number;
    constructor(program: Program, cause?: Error);
}
/** InvalidTokenOwner: Invalid Program Owner: it should be the same as the provided owner account */
export declare class TokExInvalidTokenOwnerError extends ProgramError {
    readonly name: string;
    readonly code: number;
    constructor(program: Program, cause?: Error);
}
/** CannotCreateNonAssociatedToken: Cannot create non-associated token accounts as they would need to sign the transaction. Please provide an associated token account instead */
export declare class TokExCannotCreateNonAssociatedTokenError extends ProgramError {
    readonly name: string;
    readonly code: number;
    constructor(program: Program, cause?: Error);
}
/**
 * Attempts to resolve a custom program error from the provided error code.
 * @category Errors
 */
export declare function getMplTokenExtrasErrorFromCode(code: number, program: Program, cause?: Error): ProgramError | null;
/**
 * Attempts to resolve a custom program error from the provided error name, i.e. 'Unauthorized'.
 * @category Errors
 */
export declare function getMplTokenExtrasErrorFromName(name: string, program: Program, cause?: Error): ProgramError | null;
