/**
 * 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 { SubmitAppInviteCodeInput, SubmitOrgInviteCodeInput, RequestUploadUrlInput, ConfirmUploadInput, ProvisionBucketInput, SubmitAppInviteCodePayload, SubmitOrgInviteCodePayload, RequestUploadUrlPayload, ConfirmUploadPayload, ProvisionBucketPayload, SubmitAppInviteCodePayloadSelect, SubmitOrgInviteCodePayloadSelect, RequestUploadUrlPayloadSelect, ConfirmUploadPayloadSelect, ProvisionBucketPayloadSelect } from '../input-types';
export interface SubmitAppInviteCodeVariables {
    input: SubmitAppInviteCodeInput;
}
export interface SubmitOrgInviteCodeVariables {
    input: SubmitOrgInviteCodeInput;
}
/**
 * Variables for requestUploadUrl
 * Request a presigned URL for uploading a file directly to S3.
Client computes SHA-256 of the file content and provides it here.
If a file with the same hash already exists (dedup), returns the
existing file ID and deduplicated=true with no uploadUrl.
 */
export interface RequestUploadUrlVariables {
    input: RequestUploadUrlInput;
}
/**
 * Variables for confirmUpload
 * Confirm that a file has been uploaded to S3.
Verifies the object exists in S3, checks content-type,
and transitions the file status from 'pending' to 'ready'.
 */
export interface ConfirmUploadVariables {
    input: ConfirmUploadInput;
}
/**
 * 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): {
    submitAppInviteCode: <S extends SubmitAppInviteCodePayloadSelect>(args: SubmitAppInviteCodeVariables, options: {
        select: S;
    } & StrictSelect<S, SubmitAppInviteCodePayloadSelect>) => QueryBuilder<{
        submitAppInviteCode: InferSelectResult<SubmitAppInviteCodePayload, S> | null;
    }>;
    submitOrgInviteCode: <S extends SubmitOrgInviteCodePayloadSelect>(args: SubmitOrgInviteCodeVariables, options: {
        select: S;
    } & StrictSelect<S, SubmitOrgInviteCodePayloadSelect>) => QueryBuilder<{
        submitOrgInviteCode: InferSelectResult<SubmitOrgInviteCodePayload, S> | null;
    }>;
    requestUploadUrl: <S extends RequestUploadUrlPayloadSelect>(args: RequestUploadUrlVariables, options: {
        select: S;
    } & StrictSelect<S, RequestUploadUrlPayloadSelect>) => QueryBuilder<{
        requestUploadUrl: InferSelectResult<RequestUploadUrlPayload, S> | null;
    }>;
    confirmUpload: <S extends ConfirmUploadPayloadSelect>(args: ConfirmUploadVariables, options: {
        select: S;
    } & StrictSelect<S, ConfirmUploadPayloadSelect>) => QueryBuilder<{
        confirmUpload: InferSelectResult<ConfirmUploadPayload, S> | null;
    }>;
    provisionBucket: <S extends ProvisionBucketPayloadSelect>(args: ProvisionBucketVariables, options: {
        select: S;
    } & StrictSelect<S, ProvisionBucketPayloadSelect>) => QueryBuilder<{
        provisionBucket: InferSelectResult<ProvisionBucketPayload, S> | null;
    }>;
};
