export declare const OPENAI_V1_ORGANIZATION_ROLES_ENDPOINT: "/v1/organization/roles";
export declare const DEFAULT_OPENAI_V1_ORGANIZATION_ROLES_BASE_URL: "https://api.openai.com";
export type OpenAIV1OrganizationRolesMethod = "GET";
export type OpenAIV1OrganizationRolesBoundary = "input" | "contract" | "governance" | "auth" | "scope" | "provider" | "response";
export type OpenAIV1OrganizationRolesErrorCode = "MISSING_OPERATION" | "MISSING_RUNTIME_ID" | "INVALID_QUERY" | "CONTRACT_REJECTED" | "GOVERNANCE_REJECTED" | "SCOPE_DENIED" | "AUTH_REJECTED" | "REAL_PROVIDER_CALL_NOT_ALLOWED" | "PROVIDER_AUTH_FAILED" | "PROVIDER_RATE_LIMITED" | "PROVIDER_TIMEOUT" | "PROVIDER_UNAVAILABLE" | "RESPONSE_FORMAT_DRIFT" | "PROVIDER_REJECTED";
export type OpenAIV1OrganizationRolesGate = {
    accepted: boolean;
    reason?: string;
};
export type OpenAIV1OrganizationRolesRuntimeContext = {
    runtimeId?: string;
    invocationId?: string;
    traceId?: string;
    callerId?: string;
};
export type OpenAIV1OrganizationRolesAuthEnvelope = {
    kind: "bearer" | "api-key" | "none";
    present: boolean;
    redactedToken?: string;
    organizationId?: string;
};
export type OpenAIV1OrganizationRolesRequestEnvelope = {
    provider: "openai";
    apiVersion: "v1";
    endpoint: typeof OPENAI_V1_ORGANIZATION_ROLES_ENDPOINT;
    operation: string;
    method: OpenAIV1OrganizationRolesMethod;
    url: string;
    pathSuffix: string;
    query: Readonly<Record<string, string>>;
    headers: Readonly<Record<string, string>>;
    runtime: Required<OpenAIV1OrganizationRolesRuntimeContext>;
    requestedScopes: readonly string[];
    grantedScopes: readonly string[];
    dryRun: true;
    providerCallPlanned: false;
    unsafeSideEffects: false;
    providerFieldsOpaque: true;
};
export type OpenAIV1OrganizationRolesInvocationRequest = {
    operation?: string;
    pathSuffix?: string;
    query?: Readonly<Record<string, string | number | boolean | undefined>>;
    headers?: Readonly<Record<string, string | undefined>>;
    baseUrl?: string;
    auth?: OpenAIV1OrganizationRolesAuthEnvelope;
    runtime?: OpenAIV1OrganizationRolesRuntimeContext;
    requiredScopes?: readonly string[];
    allowedScopes?: readonly string[];
    contract?: OpenAIV1OrganizationRolesGate;
    governance?: OpenAIV1OrganizationRolesGate;
    dryRun?: boolean;
    mockResponse?: unknown;
    expectResponseObject?: boolean;
    providerError?: unknown;
};
export type OpenAIV1OrganizationRolesResponseEnvelope = {
    provider: "openai";
    endpoint: typeof OPENAI_V1_ORGANIZATION_ROLES_ENDPOINT;
    mode: "dry-run" | "mock";
    raw: unknown;
    providerFieldsOpaque: true;
};
export type OpenAIV1OrganizationRolesCapabilitySignal = {
    provider: "openai";
    layer: "actualInvocationLayer";
    endpoint: typeof OPENAI_V1_ORGANIZATION_ROLES_ENDPOINT;
    operation: string;
    rawShape: "organization-roles-list" | "organization-role-object" | "mock" | "dry-run";
    providerRawShapePromoted: false;
};
export type OpenAIV1OrganizationRolesError = {
    code: OpenAIV1OrganizationRolesErrorCode;
    message: string;
    boundary: OpenAIV1OrganizationRolesBoundary;
    retryable: boolean;
    safeForRuntimeInspection: true;
    providerRawDetailExposed: false;
};
export type OpenAIV1OrganizationRolesResult = {
    ok: true;
    request: OpenAIV1OrganizationRolesRequestEnvelope;
    response: OpenAIV1OrganizationRolesResponseEnvelope;
    capability: OpenAIV1OrganizationRolesCapabilitySignal;
    events: readonly string[];
} | {
    ok: false;
    error: OpenAIV1OrganizationRolesError;
    request?: OpenAIV1OrganizationRolesRequestEnvelope;
    events: readonly string[];
};
export declare const openAIV1OrganizationRolesDescriptor: {
    readonly provider: "openai";
    readonly layer: "actualInvocationLayer";
    readonly endpoint: "/v1/organization/roles";
    readonly method: "GET";
    readonly requestShape: "query";
    readonly providerRawShapePromoted: false;
    readonly unsafeSideEffects: false;
};
export declare function classifyOpenAIV1OrganizationRolesProviderError(error: unknown): OpenAIV1OrganizationRolesErrorCode;
export declare function createOpenAIV1OrganizationRolesInvocation(input?: OpenAIV1OrganizationRolesInvocationRequest): OpenAIV1OrganizationRolesResult;
