/**
 * GraphQL schema types for custom operations
 * @generated by @constructive-io/graphql-codegen
 * DO NOT EDIT - changes will be overwritten
 */
import type { Config, PlatformConfig, PlatformInternalSecret, PlatformSecret, Secret, DatetimeFilter, JSONFilter, StringFilter, UUIDFilter } from './types';
/** Methods to use when ordering `PlatformConfig`. */
export type PlatformConfigOrderBy = 'NATURAL' | 'PRIMARY_KEY_ASC' | 'PRIMARY_KEY_DESC' | 'ID_ASC' | 'ID_DESC' | 'NAMESPACE_ID_ASC' | 'NAMESPACE_ID_DESC' | 'NAME_ASC' | 'NAME_DESC' | 'PROVIDER_ASC' | 'PROVIDER_DESC' | 'VALUE_ASC' | 'VALUE_DESC' | 'LABELS_ASC' | 'LABELS_DESC' | 'ANNOTATIONS_ASC' | 'ANNOTATIONS_DESC' | 'DESCRIPTION_ASC' | 'DESCRIPTION_DESC' | 'CREATED_AT_ASC' | 'CREATED_AT_DESC' | 'UPDATED_AT_ASC' | 'UPDATED_AT_DESC' | 'EXPIRES_AT_ASC' | 'EXPIRES_AT_DESC';
/** Methods to use when ordering `Config`. */
export type ConfigOrderBy = 'NATURAL' | 'PRIMARY_KEY_ASC' | 'PRIMARY_KEY_DESC' | 'ID_ASC' | 'ID_DESC' | 'NAMESPACE_ID_ASC' | 'NAMESPACE_ID_DESC' | 'DATABASE_ID_ASC' | 'DATABASE_ID_DESC' | 'NAME_ASC' | 'NAME_DESC' | 'PROVIDER_ASC' | 'PROVIDER_DESC' | 'VALUE_ASC' | 'VALUE_DESC' | 'LABELS_ASC' | 'LABELS_DESC' | 'ANNOTATIONS_ASC' | 'ANNOTATIONS_DESC' | 'DESCRIPTION_ASC' | 'DESCRIPTION_DESC' | 'CREATED_AT_ASC' | 'CREATED_AT_DESC' | 'UPDATED_AT_ASC' | 'UPDATED_AT_DESC' | 'EXPIRES_AT_ASC' | 'EXPIRES_AT_DESC';
/** Methods to use when ordering `PlatformInternalSecret`. */
export type PlatformInternalSecretOrderBy = 'NATURAL' | 'ID_ASC' | 'ID_DESC' | 'NAME_ASC' | 'NAME_DESC' | 'NAMESPACE_ID_ASC' | 'NAMESPACE_ID_DESC' | 'DESCRIPTION_ASC' | 'DESCRIPTION_DESC' | 'LABELS_ASC' | 'LABELS_DESC' | 'ANNOTATIONS_ASC' | 'ANNOTATIONS_DESC' | 'CREATED_AT_ASC' | 'CREATED_AT_DESC' | 'UPDATED_AT_ASC' | 'UPDATED_AT_DESC' | 'ROTATED_AT_ASC' | 'ROTATED_AT_DESC' | 'RETIRED_AT_ASC' | 'RETIRED_AT_DESC';
/** Methods to use when ordering `PlatformSecret`. */
export type PlatformSecretOrderBy = 'NATURAL' | 'ID_ASC' | 'ID_DESC' | 'NAME_ASC' | 'NAME_DESC' | 'PROVIDER_ASC' | 'PROVIDER_DESC' | 'NAMESPACE_ID_ASC' | 'NAMESPACE_ID_DESC' | 'DESCRIPTION_ASC' | 'DESCRIPTION_DESC' | 'LABELS_ASC' | 'LABELS_DESC' | 'ANNOTATIONS_ASC' | 'ANNOTATIONS_DESC' | 'CREATED_AT_ASC' | 'CREATED_AT_DESC' | 'UPDATED_AT_ASC' | 'UPDATED_AT_DESC' | 'ROTATED_AT_ASC' | 'ROTATED_AT_DESC' | 'RETIRED_AT_ASC' | 'RETIRED_AT_DESC';
/** Methods to use when ordering `Secret`. */
export type SecretOrderBy = 'NATURAL' | 'DATABASE_ID_ASC' | 'DATABASE_ID_DESC' | 'ID_ASC' | 'ID_DESC' | 'NAME_ASC' | 'NAME_DESC' | 'PROVIDER_ASC' | 'PROVIDER_DESC' | 'NAMESPACE_ID_ASC' | 'NAMESPACE_ID_DESC' | 'DESCRIPTION_ASC' | 'DESCRIPTION_DESC' | 'LABELS_ASC' | 'LABELS_DESC' | 'ANNOTATIONS_ASC' | 'ANNOTATIONS_DESC' | 'CREATED_AT_ASC' | 'CREATED_AT_DESC' | 'UPDATED_AT_ASC' | 'UPDATED_AT_DESC' | 'ROTATED_AT_ASC' | 'ROTATED_AT_DESC' | 'RETIRED_AT_ASC' | 'RETIRED_AT_DESC';
/** A filter to be used against `PlatformConfig` object types. All fields are combined with a logical ‘and.’ */
export interface PlatformConfigFilter {
    /** Filter by the object’s `id` field. */
    id?: UUIDFilter;
    /** Filter by the object’s `namespaceId` field. */
    namespaceId?: UUIDFilter;
    /** Filter by the object’s `name` field. */
    name?: StringFilter;
    /** Filter by the object’s `provider` field. */
    provider?: StringFilter;
    /** Filter by the object’s `value` field. */
    value?: StringFilter;
    /** Filter by the object’s `labels` field. */
    labels?: JSONFilter;
    /** Filter by the object’s `annotations` field. */
    annotations?: JSONFilter;
    /** Filter by the object’s `description` field. */
    description?: StringFilter;
    /** Filter by the object’s `createdAt` field. */
    createdAt?: DatetimeFilter;
    /** Filter by the object’s `updatedAt` field. */
    updatedAt?: DatetimeFilter;
    /** Filter by the object’s `expiresAt` field. */
    expiresAt?: DatetimeFilter;
    /** Checks for all expressions in this list. */
    and?: PlatformConfigFilter[];
    /** Checks for any expressions in this list. */
    or?: PlatformConfigFilter[];
    /** Negates the expression. */
    not?: PlatformConfigFilter;
}
/** A filter to be used against `Config` object types. All fields are combined with a logical ‘and.’ */
export interface ConfigFilter {
    /** Filter by the object’s `id` field. */
    id?: UUIDFilter;
    /** Filter by the object’s `namespaceId` field. */
    namespaceId?: UUIDFilter;
    /** Filter by the object’s `databaseId` field. */
    databaseId?: UUIDFilter;
    /** Filter by the object’s `name` field. */
    name?: StringFilter;
    /** Filter by the object’s `provider` field. */
    provider?: StringFilter;
    /** Filter by the object’s `value` field. */
    value?: StringFilter;
    /** Filter by the object’s `labels` field. */
    labels?: JSONFilter;
    /** Filter by the object’s `annotations` field. */
    annotations?: JSONFilter;
    /** Filter by the object’s `description` field. */
    description?: StringFilter;
    /** Filter by the object’s `createdAt` field. */
    createdAt?: DatetimeFilter;
    /** Filter by the object’s `updatedAt` field. */
    updatedAt?: DatetimeFilter;
    /** Filter by the object’s `expiresAt` field. */
    expiresAt?: DatetimeFilter;
    /** Checks for all expressions in this list. */
    and?: ConfigFilter[];
    /** Checks for any expressions in this list. */
    or?: ConfigFilter[];
    /** Negates the expression. */
    not?: ConfigFilter;
}
/** A filter to be used against `PlatformInternalSecret` object types. All fields are combined with a logical ‘and.’ */
export interface PlatformInternalSecretFilter {
    /** Filter by the object’s `id` field. */
    id?: UUIDFilter;
    /** Filter by the object’s `name` field. */
    name?: StringFilter;
    /** Filter by the object’s `namespaceId` field. */
    namespaceId?: UUIDFilter;
    /** Filter by the object’s `description` field. */
    description?: StringFilter;
    /** Filter by the object’s `labels` field. */
    labels?: JSONFilter;
    /** Filter by the object’s `annotations` field. */
    annotations?: JSONFilter;
    /** Filter by the object’s `createdAt` field. */
    createdAt?: DatetimeFilter;
    /** Filter by the object’s `updatedAt` field. */
    updatedAt?: DatetimeFilter;
    /** Filter by the object’s `rotatedAt` field. */
    rotatedAt?: DatetimeFilter;
    /** Filter by the object’s `retiredAt` field. */
    retiredAt?: DatetimeFilter;
    /** Checks for all expressions in this list. */
    and?: PlatformInternalSecretFilter[];
    /** Checks for any expressions in this list. */
    or?: PlatformInternalSecretFilter[];
    /** Negates the expression. */
    not?: PlatformInternalSecretFilter;
}
/** A filter to be used against `PlatformSecret` object types. All fields are combined with a logical ‘and.’ */
export interface PlatformSecretFilter {
    /** Filter by the object’s `id` field. */
    id?: UUIDFilter;
    /** Filter by the object’s `name` field. */
    name?: StringFilter;
    /** Filter by the object’s `provider` field. */
    provider?: StringFilter;
    /** Filter by the object’s `namespaceId` field. */
    namespaceId?: UUIDFilter;
    /** Filter by the object’s `description` field. */
    description?: StringFilter;
    /** Filter by the object’s `labels` field. */
    labels?: JSONFilter;
    /** Filter by the object’s `annotations` field. */
    annotations?: JSONFilter;
    /** Filter by the object’s `createdAt` field. */
    createdAt?: DatetimeFilter;
    /** Filter by the object’s `updatedAt` field. */
    updatedAt?: DatetimeFilter;
    /** Filter by the object’s `rotatedAt` field. */
    rotatedAt?: DatetimeFilter;
    /** Filter by the object’s `retiredAt` field. */
    retiredAt?: DatetimeFilter;
    /** Checks for all expressions in this list. */
    and?: PlatformSecretFilter[];
    /** Checks for any expressions in this list. */
    or?: PlatformSecretFilter[];
    /** Negates the expression. */
    not?: PlatformSecretFilter;
}
/** A filter to be used against `Secret` object types. All fields are combined with a logical ‘and.’ */
export interface SecretFilter {
    /** Filter by the object’s `databaseId` field. */
    databaseId?: UUIDFilter;
    /** Filter by the object’s `id` field. */
    id?: UUIDFilter;
    /** Filter by the object’s `name` field. */
    name?: StringFilter;
    /** Filter by the object’s `provider` field. */
    provider?: StringFilter;
    /** Filter by the object’s `namespaceId` field. */
    namespaceId?: UUIDFilter;
    /** Filter by the object’s `description` field. */
    description?: StringFilter;
    /** Filter by the object’s `labels` field. */
    labels?: JSONFilter;
    /** Filter by the object’s `annotations` field. */
    annotations?: JSONFilter;
    /** Filter by the object’s `createdAt` field. */
    createdAt?: DatetimeFilter;
    /** Filter by the object’s `updatedAt` field. */
    updatedAt?: DatetimeFilter;
    /** Filter by the object’s `rotatedAt` field. */
    rotatedAt?: DatetimeFilter;
    /** Filter by the object’s `retiredAt` field. */
    retiredAt?: DatetimeFilter;
    /** Checks for all expressions in this list. */
    and?: SecretFilter[];
    /** Checks for any expressions in this list. */
    or?: SecretFilter[];
    /** Negates the expression. */
    not?: SecretFilter;
}
export interface PlatformInternalSecretsDelInput {
    clientMutationId?: string;
    secretName?: string;
    namespaceId?: string;
}
export interface PlatformSecretsDelInput {
    clientMutationId?: string;
    secretName?: string;
    namespaceId?: string;
}
export interface _SecretsDelInput {
    clientMutationId?: string;
    databaseId?: string;
    secretName?: string;
    namespaceId?: string;
}
export interface PlatformInternalSecretsRemoveArrayInput {
    clientMutationId?: string;
    secretNames?: string[];
    namespaceId?: string;
}
export interface PlatformSecretsRemoveArrayInput {
    clientMutationId?: string;
    secretNames?: string[];
    namespaceId?: string;
}
export interface _SecretsRemoveArrayInput {
    clientMutationId?: string;
    databaseId?: string;
    secretNames?: string[];
    namespaceId?: string;
}
export interface PlatformInternalSecretsRotateInput {
    clientMutationId?: string;
    secretName?: string;
    secretValue?: string;
    namespaceId?: string;
    algo?: string;
}
export interface PlatformInternalSecretsSetInput {
    clientMutationId?: string;
    secretName?: string;
    secretValue?: string;
    secretNamespaceId?: string;
    algo?: string;
}
export interface PlatformSecretsRotateInput {
    clientMutationId?: string;
    secretName?: string;
    secretValue?: string;
    namespaceId?: string;
    algo?: string;
}
export interface _SecretsRotateInput {
    clientMutationId?: string;
    databaseId?: string;
    secretName?: string;
    secretValue?: string;
    namespaceId?: string;
    algo?: string;
}
export interface PlatformSecretsSetInput {
    clientMutationId?: string;
    secretName?: string;
    secretValue?: string;
    secretNamespaceId?: string;
    algo?: string;
    provider?: string;
}
export interface _SecretsSetInput {
    clientMutationId?: string;
    scopeDatabaseId?: string;
    secretName?: string;
    secretValue?: string;
    secretNamespaceId?: string;
    algo?: string;
    provider?: string;
}
export interface CreatePlatformConfigInput {
    clientMutationId?: string;
    /** The `PlatformConfig` to be created by this mutation. */
    platformConfig: PlatformConfigInput;
}
/** An input for mutations affecting `PlatformConfig` */
export interface PlatformConfigInput {
    /** Unique identifier for this config entry */
    id?: string;
    /** FK to namespaces — logical grouping for config entries */
    namespaceId: string;
    /** Key name identifying the config entry */
    name: string;
    /** Integration provider slug (e.g. mailgun, postgres). Used by the UI to group config entries by integration. No FK. */
    provider?: string;
    /** Plaintext config value */
    value?: string;
    /** Key/value pairs for selecting/filtering config entries */
    labels?: unknown;
    /** Freeform metadata for tooling and operational notes */
    annotations?: unknown;
    /** Human-readable note about this config entry */
    description?: string;
    createdAt?: string;
    updatedAt?: string;
    /** Optional expiration timestamp for time-limited config entries */
    expiresAt?: string;
}
export interface CreateConfigInput {
    clientMutationId?: string;
    /** The `Config` to be created by this mutation. */
    config: ConfigInput;
}
/** An input for mutations affecting `Config` */
export interface ConfigInput {
    /** Unique identifier for this config entry */
    id?: string;
    /** FK to namespaces — logical grouping for config entries */
    namespaceId: string;
    /** Database that owns this resource (database-scoped isolation) */
    databaseId: string;
    /** Key name identifying the config entry */
    name: string;
    /** Integration provider slug (e.g. mailgun, postgres). Used by the UI to group config entries by integration. No FK. */
    provider?: string;
    /** Plaintext config value */
    value?: string;
    /** Key/value pairs for selecting/filtering config entries */
    labels?: unknown;
    /** Freeform metadata for tooling and operational notes */
    annotations?: unknown;
    /** Human-readable note about this config entry */
    description?: string;
    createdAt?: string;
    updatedAt?: string;
    /** Optional expiration timestamp for time-limited config entries */
    expiresAt?: string;
}
export interface CreatePlatformInternalSecretInput {
    clientMutationId?: string;
    /** The `PlatformInternalSecret` to be created by this mutation. */
    platformInternalSecret: PlatformInternalSecretInput;
}
/** An input for mutations affecting `PlatformInternalSecret` */
export interface PlatformInternalSecretInput {
    id?: string;
    name?: string;
    namespaceId?: string;
    description?: string;
    labels?: unknown;
    annotations?: unknown;
    createdAt?: string;
    updatedAt?: string;
    rotatedAt?: string;
    retiredAt?: string;
}
export interface CreatePlatformSecretInput {
    clientMutationId?: string;
    /** The `PlatformSecret` to be created by this mutation. */
    platformSecret: PlatformSecretInput;
}
/** An input for mutations affecting `PlatformSecret` */
export interface PlatformSecretInput {
    id?: string;
    name?: string;
    provider?: string;
    namespaceId?: string;
    description?: string;
    labels?: unknown;
    annotations?: unknown;
    createdAt?: string;
    updatedAt?: string;
    rotatedAt?: string;
    retiredAt?: string;
}
export interface CreateSecretInput {
    clientMutationId?: string;
    /** The `Secret` to be created by this mutation. */
    secret: SecretInput;
}
/** An input for mutations affecting `Secret` */
export interface SecretInput {
    databaseId?: string;
    id?: string;
    name?: string;
    provider?: string;
    namespaceId?: string;
    description?: string;
    labels?: unknown;
    annotations?: unknown;
    createdAt?: string;
    updatedAt?: string;
    rotatedAt?: string;
    retiredAt?: string;
}
export interface UpdatePlatformConfigInput {
    clientMutationId?: string;
    /** Unique identifier for this config entry */
    id: string;
    /** An object where the defined keys will be set on the `PlatformConfig` being updated. */
    platformConfigPatch: PlatformConfigPatch;
}
/** Represents an update to a `PlatformConfig`. Fields that are set will be updated. */
export interface PlatformConfigPatch {
    /** Unique identifier for this config entry */
    id?: string;
    /** FK to namespaces — logical grouping for config entries */
    namespaceId?: string;
    /** Key name identifying the config entry */
    name?: string;
    /** Integration provider slug (e.g. mailgun, postgres). Used by the UI to group config entries by integration. No FK. */
    provider?: string;
    /** Plaintext config value */
    value?: string;
    /** Key/value pairs for selecting/filtering config entries */
    labels?: unknown;
    /** Freeform metadata for tooling and operational notes */
    annotations?: unknown;
    /** Human-readable note about this config entry */
    description?: string;
    createdAt?: string;
    updatedAt?: string;
    /** Optional expiration timestamp for time-limited config entries */
    expiresAt?: string;
}
export interface UpdateConfigInput {
    clientMutationId?: string;
    /** Unique identifier for this config entry */
    id: string;
    /** An object where the defined keys will be set on the `Config` being updated. */
    configPatch: ConfigPatch;
}
/** Represents an update to a `Config`. Fields that are set will be updated. */
export interface ConfigPatch {
    /** Unique identifier for this config entry */
    id?: string;
    /** FK to namespaces — logical grouping for config entries */
    namespaceId?: string;
    /** Database that owns this resource (database-scoped isolation) */
    databaseId?: string;
    /** Key name identifying the config entry */
    name?: string;
    /** Integration provider slug (e.g. mailgun, postgres). Used by the UI to group config entries by integration. No FK. */
    provider?: string;
    /** Plaintext config value */
    value?: string;
    /** Key/value pairs for selecting/filtering config entries */
    labels?: unknown;
    /** Freeform metadata for tooling and operational notes */
    annotations?: unknown;
    /** Human-readable note about this config entry */
    description?: string;
    createdAt?: string;
    updatedAt?: string;
    /** Optional expiration timestamp for time-limited config entries */
    expiresAt?: string;
}
export interface DeletePlatformConfigInput {
    clientMutationId?: string;
    /** Unique identifier for this config entry */
    id: string;
}
export interface DeleteConfigInput {
    clientMutationId?: string;
    /** Unique identifier for this config entry */
    id: string;
}
export interface ProvisionBucketInput {
    /** The logical bucket key (e.g., "public", "private") */
    bucketKey: string;
    /**
     * Owner entity ID for entity-scoped bucket provisioning.
     * Omit for app-level (database-wide) storage.
     */
    ownerId?: string;
}
/** A connection to a list of `PlatformConfig` values. */
export interface PlatformConfigConnection {
    nodes: PlatformConfig[];
    edges: PlatformConfigEdge[];
    pageInfo: PageInfo;
    totalCount: number;
}
/** A connection to a list of `Config` values. */
export interface ConfigConnection {
    nodes: Config[];
    edges: ConfigEdge[];
    pageInfo: PageInfo;
    totalCount: number;
}
/** A connection to a list of `PlatformInternalSecret` values. */
export interface PlatformInternalSecretConnection {
    nodes: PlatformInternalSecret[];
    edges: PlatformInternalSecretEdge[];
    pageInfo: PageInfo;
    totalCount: number;
}
/** A connection to a list of `PlatformSecret` values. */
export interface PlatformSecretConnection {
    nodes: PlatformSecret[];
    edges: PlatformSecretEdge[];
    pageInfo: PageInfo;
    totalCount: number;
}
/** A connection to a list of `Secret` values. */
export interface SecretConnection {
    nodes: Secret[];
    edges: SecretEdge[];
    pageInfo: PageInfo;
    totalCount: number;
}
/** Root meta schema type */
export interface MetaSchema {
    tables: MetaTable[];
}
export interface PlatformInternalSecretsDelPayload {
    clientMutationId?: string | null;
}
export interface PlatformSecretsDelPayload {
    clientMutationId?: string | null;
}
export interface _SecretsDelPayload {
    clientMutationId?: string | null;
}
export interface PlatformInternalSecretsRemoveArrayPayload {
    clientMutationId?: string | null;
}
export interface PlatformSecretsRemoveArrayPayload {
    clientMutationId?: string | null;
}
export interface _SecretsRemoveArrayPayload {
    clientMutationId?: string | null;
}
export interface PlatformInternalSecretsRotatePayload {
    clientMutationId?: string | null;
    result?: boolean | null;
}
export interface PlatformInternalSecretsSetPayload {
    clientMutationId?: string | null;
    result?: boolean | null;
}
export interface PlatformSecretsRotatePayload {
    clientMutationId?: string | null;
    result?: boolean | null;
}
export interface _SecretsRotatePayload {
    clientMutationId?: string | null;
    result?: boolean | null;
}
export interface PlatformSecretsSetPayload {
    clientMutationId?: string | null;
    result?: boolean | null;
}
export interface _SecretsSetPayload {
    clientMutationId?: string | null;
    result?: boolean | null;
}
export interface CreatePlatformConfigPayload {
    clientMutationId?: string | null;
    /** The `PlatformConfig` that was created by this mutation. */
    platformConfig?: PlatformConfig | null;
    platformConfigEdge?: PlatformConfigEdge | null;
}
export interface CreateConfigPayload {
    clientMutationId?: string | null;
    /** The `Config` that was created by this mutation. */
    config?: Config | null;
    configEdge?: ConfigEdge | null;
}
export interface CreatePlatformInternalSecretPayload {
    clientMutationId?: string | null;
    /** The `PlatformInternalSecret` that was created by this mutation. */
    platformInternalSecret?: PlatformInternalSecret | null;
}
export interface CreatePlatformSecretPayload {
    clientMutationId?: string | null;
    /** The `PlatformSecret` that was created by this mutation. */
    platformSecret?: PlatformSecret | null;
}
export interface CreateSecretPayload {
    clientMutationId?: string | null;
    /** The `Secret` that was created by this mutation. */
    secret?: Secret | null;
}
export interface UpdatePlatformConfigPayload {
    clientMutationId?: string | null;
    /** The `PlatformConfig` that was updated by this mutation. */
    platformConfig?: PlatformConfig | null;
    platformConfigEdge?: PlatformConfigEdge | null;
}
export interface UpdateConfigPayload {
    clientMutationId?: string | null;
    /** The `Config` that was updated by this mutation. */
    config?: Config | null;
    configEdge?: ConfigEdge | null;
}
export interface DeletePlatformConfigPayload {
    clientMutationId?: string | null;
    /** The `PlatformConfig` that was deleted by this mutation. */
    platformConfig?: PlatformConfig | null;
    platformConfigEdge?: PlatformConfigEdge | null;
}
export interface DeleteConfigPayload {
    clientMutationId?: string | null;
    /** The `Config` that was deleted by this mutation. */
    config?: Config | null;
    configEdge?: ConfigEdge | null;
}
export interface ProvisionBucketPayload {
    /** Whether provisioning succeeded */
    success: boolean;
    /** The S3 bucket name that was provisioned */
    bucketName: string;
    /** The access type applied */
    accessType: string;
    /** The storage provider used */
    provider: string;
    /** The S3 endpoint (null for AWS S3 default) */
    endpoint?: string | null;
    /** Error message if provisioning failed */
    error?: string | null;
}
/** A `PlatformConfig` edge in the connection. */
export interface PlatformConfigEdge {
    cursor?: string | null;
    /** The `PlatformConfig` at the end of the edge. */
    node?: PlatformConfig | null;
}
/** Information about pagination in a connection. */
export interface PageInfo {
    /** When paginating forwards, are there more items? */
    hasNextPage: boolean;
    /** When paginating backwards, are there more items? */
    hasPreviousPage: boolean;
    /** When paginating backwards, the cursor to continue. */
    startCursor?: string | null;
    /** When paginating forwards, the cursor to continue. */
    endCursor?: string | null;
}
/** A `Config` edge in the connection. */
export interface ConfigEdge {
    cursor?: string | null;
    /** The `Config` at the end of the edge. */
    node?: Config | null;
}
/** A `PlatformInternalSecret` edge in the connection. */
export interface PlatformInternalSecretEdge {
    cursor?: string | null;
    /** The `PlatformInternalSecret` at the end of the edge. */
    node?: PlatformInternalSecret | null;
}
/** A `PlatformSecret` edge in the connection. */
export interface PlatformSecretEdge {
    cursor?: string | null;
    /** The `PlatformSecret` at the end of the edge. */
    node?: PlatformSecret | null;
}
/** A `Secret` edge in the connection. */
export interface SecretEdge {
    cursor?: string | null;
    /** The `Secret` at the end of the edge. */
    node?: Secret | null;
}
/** Information about a database table */
export interface MetaTable {
    name: string;
    schemaName: string;
    fields: MetaField[];
    indexes: MetaIndex[];
    constraints: MetaConstraints;
    foreignKeyConstraints: MetaForeignKeyConstraint[];
    primaryKeyConstraints: MetaPrimaryKeyConstraint[];
    uniqueConstraints: MetaUniqueConstraint[];
    relations: MetaRelations;
    inflection: MetaInflection;
    query: MetaQuery;
    /** Storage metadata (null if not a storage table) */
    storage?: MetaStorage | null;
    /** Search metadata (null if no search configured) */
    search?: MetaSearch | null;
    /** i18n metadata (null if no @i18n tag) */
    i18n?: MetaI18n | null;
    /** Realtime metadata (null if no @realtime tag) */
    realtime?: MetaRealtime | null;
}
/** Information about a table field/column */
export interface MetaField {
    name: string;
    type: MetaType;
    isNotNull: boolean;
    hasDefault: boolean;
    isPrimaryKey: boolean;
    isForeignKey: boolean;
    description?: string | null;
    /** Enum metadata if this field has an enum type */
    enumValues?: MetaEnum | null;
}
/** Information about a database index */
export interface MetaIndex {
    name: string;
    isUnique: boolean;
    isPrimary: boolean;
    columns: string[];
    fields?: MetaField[] | null;
}
/** Table constraints */
export interface MetaConstraints {
    primaryKey?: MetaPrimaryKeyConstraint | null;
    unique: MetaUniqueConstraint[];
    foreignKey: MetaForeignKeyConstraint[];
}
/** Information about a foreign key constraint */
export interface MetaForeignKeyConstraint {
    name: string;
    fields: MetaField[];
    referencedTable: string;
    referencedFields: string[];
    refFields?: MetaField[] | null;
    refTable?: MetaRefTable | null;
}
/** Information about a primary key constraint */
export interface MetaPrimaryKeyConstraint {
    name: string;
    fields: MetaField[];
}
/** Information about a unique constraint */
export interface MetaUniqueConstraint {
    name: string;
    fields: MetaField[];
}
/** Table relations */
export interface MetaRelations {
    belongsTo: MetaBelongsToRelation[];
    has: MetaHasRelation[];
    hasOne: MetaHasRelation[];
    hasMany: MetaHasRelation[];
    manyToMany: MetaManyToManyRelation[];
}
/** Table inflection names */
export interface MetaInflection {
    tableType: string;
    allRows: string;
    connection: string;
    edge: string;
    filterType?: string | null;
    orderByType: string;
    conditionType: string;
    patchType?: string | null;
    createInputType: string;
    createPayloadType: string;
    updatePayloadType?: string | null;
    deletePayloadType: string;
}
/** Table query/mutation names */
export interface MetaQuery {
    all: string;
    one?: string | null;
    create?: string | null;
    update?: string | null;
    delete?: string | null;
}
/** Storage metadata for a table */
export interface MetaStorage {
    /** Whether this table is a storage files table */
    isFilesTable: boolean;
    /** Whether this table is a storage buckets table */
    isBucketsTable: boolean;
}
/** Search metadata for a table */
export interface MetaSearch {
    /** Active search algorithms on this table */
    algorithms: string[];
    /** Searchable columns with their algorithm */
    columns: MetaSearchColumn[];
    /** Whether unifiedSearch composite filter is available */
    hasUnifiedSearch: boolean;
    /** Per-table search configuration */
    config?: MetaSearchConfig | null;
}
/** i18n metadata for a table with @i18n tag */
export interface MetaI18n {
    /** Name of the translation table */
    translationTable: string;
    /** Fields that are translatable */
    translatableFields: MetaI18nField[];
}
/** Realtime metadata for a table with @realtime tag */
export interface MetaRealtime {
    /** The generated subscription field name (e.g. onPostChanged) */
    subscriptionFieldName: string;
}
/** Information about a PostgreSQL type */
export interface MetaType {
    pgType: string;
    gqlType: string;
    isArray: boolean;
    isNotNull?: boolean | null;
    hasDefault?: boolean | null;
    subtype?: string | null;
}
/** Information about a PostgreSQL enum type */
export interface MetaEnum {
    /** The PostgreSQL enum type name */
    name: string;
    /** Allowed values for this enum */
    values: string[];
}
/** Reference to a related table */
export interface MetaRefTable {
    name: string;
}
/** A belongs-to (forward FK) relation */
export interface MetaBelongsToRelation {
    fieldName?: string | null;
    isUnique: boolean;
    type?: string | null;
    keys: MetaField[];
    references: MetaRefTable;
}
/** A has-one or has-many (reverse FK) relation */
export interface MetaHasRelation {
    fieldName?: string | null;
    isUnique: boolean;
    type?: string | null;
    keys: MetaField[];
    referencedBy: MetaRefTable;
}
/** A many-to-many relation via junction table */
export interface MetaManyToManyRelation {
    fieldName?: string | null;
    type?: string | null;
    junctionTable: MetaRefTable;
    junctionLeftConstraint: MetaForeignKeyConstraint;
    junctionLeftKeyAttributes: MetaField[];
    junctionRightConstraint: MetaForeignKeyConstraint;
    junctionRightKeyAttributes: MetaField[];
    leftKeyAttributes: MetaField[];
    rightKeyAttributes: MetaField[];
    rightTable: MetaRefTable;
}
/** A searchable column with its algorithm */
export interface MetaSearchColumn {
    /** Column name (camelCase) */
    name: string;
    /** Search algorithm: tsvector, bm25, trgm, or vector */
    algorithm: string;
}
/** Per-table search configuration from @searchConfig smart tag */
export interface MetaSearchConfig {
    /** JSON-encoded per-adapter score weights */
    weights?: string | null;
    /** Whether recency boosting is enabled */
    boostRecent: boolean;
    /** Field used for recency decay */
    boostRecencyField?: string | null;
    /** Exponential decay factor per day */
    boostRecencyDecay?: number | null;
}
/** A translatable field */
export interface MetaI18nField {
    /** GraphQL field name */
    name: string;
    /** PostgreSQL column type (text, citext) */
    type: string;
}
