import { B as BlindpayApiResponse } from '../../index.d-Gvol1faW.js';
import { I as InternalApiClient } from '../../api-client-Bklw4zQi.js';

type InstanceMemberRole = "owner" | "admin" | "finance" | "checker" | "operations" | "developer" | "viewer";
type GetInstanceMembersResponse = Array<{
    id: string;
    email: string;
    first_name: string;
    middle_name: string;
    last_name: string;
    image_url: string;
    created_at: string;
    role: InstanceMemberRole;
}>;
type UpdateInstanceInput = {
    name: string;
    receiver_invite_redirect_urL?: string;
    require_passkey?: boolean;
};
type DeleteInstanceMemberInput = string;
type UpdateInstanceMemberRoleInput = {
    memberId: string;
    role: InstanceMemberRole;
};
declare function createInstancesResource(instanceId: string, client: InternalApiClient): {
    getMembers(): Promise<BlindpayApiResponse<GetInstanceMembersResponse>>;
    update({ ...data }: UpdateInstanceInput): Promise<BlindpayApiResponse<void>>;
    delete(): Promise<BlindpayApiResponse<void>>;
    deleteMember(memberId: DeleteInstanceMemberInput): Promise<BlindpayApiResponse<void>>;
    updateMemberRole({ memberId, role, }: UpdateInstanceMemberRoleInput): Promise<BlindpayApiResponse<void>>;
};

export { type DeleteInstanceMemberInput, type GetInstanceMembersResponse, type InstanceMemberRole, type UpdateInstanceInput, type UpdateInstanceMemberRoleInput, createInstancesResource };
