/**
 * Custom mutation operations
 * @generated by @constructive-io/graphql-codegen
 * DO NOT EDIT - changes will be overwritten
 */
import { OrmClient } from '../client';
import { QueryBuilder } from '../query-builder';
import type { InferSelectResult, StrictSelect } from '../select-types';
import type { SignOutInput, SendAccountDeletionEmailInput, CheckPasswordInput, DisconnectAccountInput, RevokeApiKeyInput, RevokeSessionInput, VerifyPasswordInput, VerifyTotpInput, ConfirmDeleteAccountInput, SetPasswordInput, VerifyEmailInput, ProvisionNewUserInput, ResetPasswordInput, SignInCrossOriginInput, SignUpInput, SignInInput, ExtendTokenExpiresInput, CreateApiKeyInput, RequestCrossOriginTokenInput, ForgotPasswordInput, SendVerificationEmailInput, ProvisionBucketInput, SignOutPayload, SendAccountDeletionEmailPayload, CheckPasswordPayload, DisconnectAccountPayload, RevokeApiKeyPayload, RevokeSessionPayload, VerifyPasswordPayload, VerifyTotpPayload, ConfirmDeleteAccountPayload, SetPasswordPayload, VerifyEmailPayload, ProvisionNewUserPayload, ResetPasswordPayload, SignInCrossOriginPayload, SignUpPayload, SignInPayload, ExtendTokenExpiresPayload, CreateApiKeyPayload, RequestCrossOriginTokenPayload, ForgotPasswordPayload, SendVerificationEmailPayload, ProvisionBucketPayload, SignOutPayloadSelect, SendAccountDeletionEmailPayloadSelect, CheckPasswordPayloadSelect, DisconnectAccountPayloadSelect, RevokeApiKeyPayloadSelect, RevokeSessionPayloadSelect, VerifyPasswordPayloadSelect, VerifyTotpPayloadSelect, ConfirmDeleteAccountPayloadSelect, SetPasswordPayloadSelect, VerifyEmailPayloadSelect, ProvisionNewUserPayloadSelect, ResetPasswordPayloadSelect, SignInCrossOriginPayloadSelect, SignUpPayloadSelect, SignInPayloadSelect, ExtendTokenExpiresPayloadSelect, CreateApiKeyPayloadSelect, RequestCrossOriginTokenPayloadSelect, ForgotPasswordPayloadSelect, SendVerificationEmailPayloadSelect, ProvisionBucketPayloadSelect } from '../input-types';
export interface SignOutVariables {
    input: SignOutInput;
}
export interface SendAccountDeletionEmailVariables {
    input: SendAccountDeletionEmailInput;
}
export interface CheckPasswordVariables {
    input: CheckPasswordInput;
}
export interface DisconnectAccountVariables {
    input: DisconnectAccountInput;
}
export interface RevokeApiKeyVariables {
    input: RevokeApiKeyInput;
}
export interface RevokeSessionVariables {
    input: RevokeSessionInput;
}
export interface VerifyPasswordVariables {
    input: VerifyPasswordInput;
}
export interface VerifyTotpVariables {
    input: VerifyTotpInput;
}
export interface ConfirmDeleteAccountVariables {
    input: ConfirmDeleteAccountInput;
}
export interface SetPasswordVariables {
    input: SetPasswordInput;
}
export interface VerifyEmailVariables {
    input: VerifyEmailInput;
}
export interface ProvisionNewUserVariables {
    input: ProvisionNewUserInput;
}
export interface ResetPasswordVariables {
    input: ResetPasswordInput;
}
export interface SignInCrossOriginVariables {
    input: SignInCrossOriginInput;
}
export interface SignUpVariables {
    input: SignUpInput;
}
export interface SignInVariables {
    input: SignInInput;
}
export interface ExtendTokenExpiresVariables {
    input: ExtendTokenExpiresInput;
}
export interface CreateApiKeyVariables {
    input: CreateApiKeyInput;
}
export interface RequestCrossOriginTokenVariables {
    input: RequestCrossOriginTokenInput;
}
export interface ForgotPasswordVariables {
    input: ForgotPasswordInput;
}
export interface SendVerificationEmailVariables {
    input: SendVerificationEmailInput;
}
/**
 * Variables for provisionBucket
 * Provision an S3 bucket for a logical bucket in the database.
Reads the bucket config via RLS, then creates and configures
the S3 bucket with the appropriate privacy policies, CORS rules,
and lifecycle settings.
 */
export interface ProvisionBucketVariables {
    input: ProvisionBucketInput;
}
export declare function createMutationOperations(client: OrmClient): {
    signOut: <S extends SignOutPayloadSelect>(args: SignOutVariables, options: {
        select: S;
    } & StrictSelect<S, SignOutPayloadSelect>) => QueryBuilder<{
        signOut: InferSelectResult<SignOutPayload, S> | null;
    }>;
    sendAccountDeletionEmail: <S extends SendAccountDeletionEmailPayloadSelect>(args: SendAccountDeletionEmailVariables, options: {
        select: S;
    } & StrictSelect<S, SendAccountDeletionEmailPayloadSelect>) => QueryBuilder<{
        sendAccountDeletionEmail: InferSelectResult<SendAccountDeletionEmailPayload, S> | null;
    }>;
    checkPassword: <S extends CheckPasswordPayloadSelect>(args: CheckPasswordVariables, options: {
        select: S;
    } & StrictSelect<S, CheckPasswordPayloadSelect>) => QueryBuilder<{
        checkPassword: InferSelectResult<CheckPasswordPayload, S> | null;
    }>;
    disconnectAccount: <S extends DisconnectAccountPayloadSelect>(args: DisconnectAccountVariables, options: {
        select: S;
    } & StrictSelect<S, DisconnectAccountPayloadSelect>) => QueryBuilder<{
        disconnectAccount: InferSelectResult<DisconnectAccountPayload, S> | null;
    }>;
    revokeApiKey: <S extends RevokeApiKeyPayloadSelect>(args: RevokeApiKeyVariables, options: {
        select: S;
    } & StrictSelect<S, RevokeApiKeyPayloadSelect>) => QueryBuilder<{
        revokeApiKey: InferSelectResult<RevokeApiKeyPayload, S> | null;
    }>;
    revokeSession: <S extends RevokeSessionPayloadSelect>(args: RevokeSessionVariables, options: {
        select: S;
    } & StrictSelect<S, RevokeSessionPayloadSelect>) => QueryBuilder<{
        revokeSession: InferSelectResult<RevokeSessionPayload, S> | null;
    }>;
    verifyPassword: <S extends VerifyPasswordPayloadSelect>(args: VerifyPasswordVariables, options: {
        select: S;
    } & StrictSelect<S, VerifyPasswordPayloadSelect>) => QueryBuilder<{
        verifyPassword: InferSelectResult<VerifyPasswordPayload, S> | null;
    }>;
    verifyTotp: <S extends VerifyTotpPayloadSelect>(args: VerifyTotpVariables, options: {
        select: S;
    } & StrictSelect<S, VerifyTotpPayloadSelect>) => QueryBuilder<{
        verifyTotp: InferSelectResult<VerifyTotpPayload, S> | null;
    }>;
    confirmDeleteAccount: <S extends ConfirmDeleteAccountPayloadSelect>(args: ConfirmDeleteAccountVariables, options: {
        select: S;
    } & StrictSelect<S, ConfirmDeleteAccountPayloadSelect>) => QueryBuilder<{
        confirmDeleteAccount: InferSelectResult<ConfirmDeleteAccountPayload, S> | null;
    }>;
    setPassword: <S extends SetPasswordPayloadSelect>(args: SetPasswordVariables, options: {
        select: S;
    } & StrictSelect<S, SetPasswordPayloadSelect>) => QueryBuilder<{
        setPassword: InferSelectResult<SetPasswordPayload, S> | null;
    }>;
    verifyEmail: <S extends VerifyEmailPayloadSelect>(args: VerifyEmailVariables, options: {
        select: S;
    } & StrictSelect<S, VerifyEmailPayloadSelect>) => QueryBuilder<{
        verifyEmail: InferSelectResult<VerifyEmailPayload, S> | null;
    }>;
    provisionNewUser: <S extends ProvisionNewUserPayloadSelect>(args: ProvisionNewUserVariables, options: {
        select: S;
    } & StrictSelect<S, ProvisionNewUserPayloadSelect>) => QueryBuilder<{
        provisionNewUser: InferSelectResult<ProvisionNewUserPayload, S> | null;
    }>;
    resetPassword: <S extends ResetPasswordPayloadSelect>(args: ResetPasswordVariables, options: {
        select: S;
    } & StrictSelect<S, ResetPasswordPayloadSelect>) => QueryBuilder<{
        resetPassword: InferSelectResult<ResetPasswordPayload, S> | null;
    }>;
    signInCrossOrigin: <S extends SignInCrossOriginPayloadSelect>(args: SignInCrossOriginVariables, options: {
        select: S;
    } & StrictSelect<S, SignInCrossOriginPayloadSelect>) => QueryBuilder<{
        signInCrossOrigin: InferSelectResult<SignInCrossOriginPayload, S> | null;
    }>;
    signUp: <S extends SignUpPayloadSelect>(args: SignUpVariables, options: {
        select: S;
    } & StrictSelect<S, SignUpPayloadSelect>) => QueryBuilder<{
        signUp: InferSelectResult<SignUpPayload, S> | null;
    }>;
    signIn: <S extends SignInPayloadSelect>(args: SignInVariables, options: {
        select: S;
    } & StrictSelect<S, SignInPayloadSelect>) => QueryBuilder<{
        signIn: InferSelectResult<SignInPayload, S> | null;
    }>;
    extendTokenExpires: <S extends ExtendTokenExpiresPayloadSelect>(args: ExtendTokenExpiresVariables, options: {
        select: S;
    } & StrictSelect<S, ExtendTokenExpiresPayloadSelect>) => QueryBuilder<{
        extendTokenExpires: InferSelectResult<ExtendTokenExpiresPayload, S> | null;
    }>;
    createApiKey: <S extends CreateApiKeyPayloadSelect>(args: CreateApiKeyVariables, options: {
        select: S;
    } & StrictSelect<S, CreateApiKeyPayloadSelect>) => QueryBuilder<{
        createApiKey: InferSelectResult<CreateApiKeyPayload, S> | null;
    }>;
    requestCrossOriginToken: <S extends RequestCrossOriginTokenPayloadSelect>(args: RequestCrossOriginTokenVariables, options: {
        select: S;
    } & StrictSelect<S, RequestCrossOriginTokenPayloadSelect>) => QueryBuilder<{
        requestCrossOriginToken: InferSelectResult<RequestCrossOriginTokenPayload, S> | null;
    }>;
    forgotPassword: <S extends ForgotPasswordPayloadSelect>(args: ForgotPasswordVariables, options: {
        select: S;
    } & StrictSelect<S, ForgotPasswordPayloadSelect>) => QueryBuilder<{
        forgotPassword: InferSelectResult<ForgotPasswordPayload, S> | null;
    }>;
    sendVerificationEmail: <S extends SendVerificationEmailPayloadSelect>(args: SendVerificationEmailVariables, options: {
        select: S;
    } & StrictSelect<S, SendVerificationEmailPayloadSelect>) => QueryBuilder<{
        sendVerificationEmail: InferSelectResult<SendVerificationEmailPayload, S> | null;
    }>;
    provisionBucket: <S extends ProvisionBucketPayloadSelect>(args: ProvisionBucketVariables, options: {
        select: S;
    } & StrictSelect<S, ProvisionBucketPayloadSelect>) => QueryBuilder<{
        provisionBucket: InferSelectResult<ProvisionBucketPayload, S> | null;
    }>;
};
