import type { io } from "./generated"; import type { ObjectMeta } from "./kubernetes"; interface PostgresOptions { maxConnections?: number; superuserReservedConnections?: number; tcpKeepalivesIdle?: number; tcpKeepalivesInterval?: number; tcpKeepalivesCount?: number; tcpUserTimeout?: number; authenticationTimeout?: string; sharedBuffers?: string; hugePages?: boolean | "try"; tempBuffers?: string; maxPreparedTransactions?: number; workMem?: string; maintenanceWorkMem?: string; autovacuumWorkMem?: string | -1; logicalDecodingWorkMem?: string; maxStackDepth?: string; sharedMemoryType?: "mmap" | "sysv"; dynamicSharedMemoryType?: "posix" | "sysv" | "mmap"; tempFileLimit?: string | -1; maxFilesPerProcess?: number; vacuumCostDelay?: number; vacuumCostPageHit?: number; vacuumCostPageMiss?: number; vacuumCostPageDirty?: number; vacuumCostLimit?: number; bgwriterDelay?: string; bgwriterLruMaxpages?: number; bgwriterLruMultiplier?: number; bgwriterFlushAfter?: number; effectiveIoConcurrency?: number; maxWorkerProcesses?: number; maxParallelMaintenanceWorkers?: number; maxParallelWorkersPerGather?: number; parallelLeaderParticipation?: boolean; maxParallelWorkers?: number; oldSnapshotThreshold?: string | 0 | -1; backendFlushAfter?: number; fsync?: boolean; synchronousCommit?: boolean | "local" | "remoteWrite" | "remoteApply"; walSyncMethod?: "fsync" | "openDatasync" | "fdatasync" | "fsyncWritethrough" | "openSync"; fullPageWrites?: boolean; walCompression?: boolean; walLogHints?: boolean; walInitZero?: boolean; walRecycle?: boolean; walBuffers?: string | -1; walWriterDelay?: string; walWriterFlushAfter?: string | 0; commitDelay?: number; commitSiblings?: number; checkpointTimeout?: string; maxWalSize?: string; minWalSize?: string; checkpointCompletionTarget?: number; checkpointFlushAfter?: number; checkpointWarning?: string; enableBitmapscan?: boolean; enableHashagg?: boolean; enableHashjoin?: boolean; enableIndexscan?: boolean; enableIndexonlyscan?: boolean; enableMaterial?: boolean; enableMergejoin?: boolean; enableNestloop?: boolean; enableParallelAppend?: boolean; enableSeqscan?: boolean; enableSort?: boolean; enableTidscan?: boolean; enablePartitionwiseJoin?: boolean; enablePartitionwiseAggregate?: boolean; enableParallelHash?: boolean; enablePartitionPruning?: boolean; seqPageCost?: number; randomPageCost?: number; cpuTupleCost?: number; cpuIndexTupleCost?: number; cpuOperatorCost?: number; parallelTupleCost?: number; parallelSetupCost?: number; jitAboveCost?: number; jitInlineAboveCost?: number; jitOptimizeAboveCost?: number; minParallelTableScanSize?: string; minParallelIndexScanSize?: string; effectiveCacheSize?: string; geqo?: boolean; geqoThreshold?: number; geqoEffort?: number; geqoPoolSize?: number; geqoGenerations?: number; geqoSelectionBias?: number; geqoSeed?: number; defaultStatisticsTarget?: number; constraintExclusion?: boolean | "partition"; cursorTupleFraction?: number; fromCollapseLimit?: number; joinCollapseLimit?: number; forceParallelMode?: boolean; jit?: boolean; planCacheMode?: "auto" | "forceGenericPlan" | "forceCustomPlan"; logMinMessages?: "warning" | "debug5" | "debug4" | "debug3" | "debug2" | "debug1" | "info" | "notice" | "error" | "log" | "fatal" | "panic"; logMinErrorStatement?: "error" | "debug5" | "debug4" | "debug3" | "debug2" | "debug1" | "info" | "notice" | "warning" | "log" | "fatal" | "panic"; logMinDurationStatement?: number; logMinDurationSample?: number; logStatementSampleRate?: number; logTransactionSampleRate?: number; debugPrintParse?: boolean; debugPrintRewritten?: boolean; debugPrintPlan?: boolean; debugPrettyPrint?: boolean; logCheckpoints?: boolean; logConnections?: boolean; logDisconnections?: boolean; logDuration?: boolean; logErrorVerbosity?: "default" | "terse" | "verbose"; logHostname?: boolean; logLockWaits?: boolean; logStatement?: "none" | "ddl" | "mod" | "all"; logParametersOnError?: boolean; logReplicationCommands?: boolean; logTempFiles?: number; trackActivities?: boolean; trackCounts?: boolean; trackIoTiming?: boolean; trackFunctions?: "none" | "pl" | "all"; trackActivityQuerySize?: number; logParserStats?: boolean; logPlannerStats?: boolean; logExecutorStats?: boolean; logStatementStats?: boolean; autovacuum?: boolean; logAutovacuumMinDuration?: number; autovacuumMaxWorkers?: number; autovacuumNaptime?: string; autovacuumVacuumThreshold?: number; autovacuumAnalyzeThreshold?: number; autovacuumVacuumScaleFactor?: number; autovacuumAnalyzeScaleFactor?: number; autovacuumFreezeMaxAge?: number; autovacuumMultixactFreezeMaxAge?: number; autovacuumVacuumCostDelay?: string | -1; autovacuumVacuumCostLimit?: number; clientMinMessages?: "notice" | "debug5" | "debug4" | "debug3" | "debug2" | "debug1" | "log" | "warning" | "error"; rowSecurity?: boolean; defaultTableAccessMethod?: string; checkFunctionBodies?: boolean; defaultTransactionReadOnly?: boolean; defaultTransactionDeferrable?: boolean; sessionReplicationRole?: string; statementTimeout?: number; lockTimeout?: number; idleInTransactionSessionTimeout?: number; vacuumFreezeMinAge?: number; vacuumFreezeTableAge?: number; vacuumMultixactFreezeMinAge?: number; vacuumMultixactFreezeTableAge?: number; vacuumCleanupIndexScaleFactor?: number; deadlockTimeout?: string; maxLocksPerTransaction?: number; maxPredLocksPerTransaction?: number; maxPredLocksPerRelation?: number; maxPredLocksPerPage?: number; arrayNulls?: boolean; backslashQuote?: boolean | "safeEncoding"; escapeStringWarning?: boolean; loCompatPrivileges?: boolean; operatorPrecedenceWarning?: boolean; quoteAllIdentifiers?: boolean; standardConformingStrings?: boolean; synchronizeSeqscans?: boolean; transformNullEquals?: boolean; exitOnError?: boolean; dataSyncRetry?: boolean; maxReplicationSlots?: number; walSenderTimeout?: number; trackCommitTimestamp?: boolean; listenAddresses?: string; maxWalSenders?: number; walKeepSegments?: number; sharedPreloadLibraries?: string; "pgStatStatements.track"?: "all" | "top" | "none"; maxStandbyArchiveDelay?: number; maxStandbyStreamingDelay?: number; hotStandbyFeedback?: "on" | "off"; walLevel?: "minimal" | "replica" | "logical"; } interface PostgresSpec { readReplicas?: number; version: string; customImage?: string; cpu: { request: string | number; limit: string | number; }; memory: string | number; postgresUserPassword?: string | { secretName: string; key: string; }; replicaPassword?: string; databases?: Array<{ name: string; users?: string[]; } | string>; users?: Array<{ username: string; password: string; }>; usersReadOnly?: Array<{ username: string; password: string; }>; monitoring?: { type: "pgAnalyze"; apiKey: string; monitorPostgresDatabase?: boolean; }; initContainers?: io.k8s.api.core.v1.Container[]; accessConfig?: Array<{ type: string; database: string; user: string; address: string; method: string; }>; storageClassName?: string; storageRequest?: string; nodeSelector?: Record; affinity?: io.k8s.api.core.v1.Affinity; tolerations?: io.k8s.api.core.v1.Toleration[]; imagePullPolicy?: "Always" | "Never" | "IfNotPresent"; options?: PostgresOptions; optionsReplicas?: PostgresOptions; overrides?: Partial; imagePullSecrets?: string[]; } export declare class Postgres { private metadata; private spec; constructor(metadata: ObjectMeta, spec: PostgresSpec); get yaml(): string; } export {};