import * as Schema from "effect/Schema";
import { API } from "../../client.js";
import * as T from "../../traits.js";
import { BadRequest, Forbidden, NotFound } from "../../errors.js";
import { SensitiveString } from "../../sensitive.js";
// Input Schema
export const ExternalDataSourcesSourcePrefixCreateInput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    project_id: Schema.String.pipe(T.PathParam()),
    id: Schema.optional(Schema.String),
    created_at: Schema.optional(Schema.String),
    created_by: Schema.optional(Schema.NullOr(Schema.String)),
    status: Schema.optional(Schema.String),
    client_secret: Schema.optional(SensitiveString),
    account_id: Schema.optional(Schema.String),
    source_type: Schema.optional(Schema.Literals([
        "Ashby",
        "Supabase",
        "CustomerIO",
        "Github",
        "Stripe",
        "Hubspot",
        "Postgres",
        "Zendesk",
        "Snowflake",
        "Salesforce",
        "MySQL",
        "MongoDB",
        "MSSQL",
        "Vitally",
        "BigQuery",
        "Chargebee",
        "Clerk",
        "GoogleAds",
        "TemporalIO",
        "DoIt",
        "GoogleSheets",
        "MetaAds",
        "Klaviyo",
        "Mailchimp",
        "Braze",
        "Mailjet",
        "Redshift",
        "Polar",
        "RevenueCat",
        "LinkedinAds",
        "RedditAds",
        "TikTokAds",
        "BingAds",
        "Shopify",
        "Attio",
        "SnapchatAds",
        "Linear",
        "Intercom",
        "Amplitude",
        "Mixpanel",
        "Jira",
        "ActiveCampaign",
        "Marketo",
        "Adjust",
        "AppsFlyer",
        "Freshdesk",
        "GoogleAnalytics",
        "Pipedrive",
        "SendGrid",
        "Slack",
        "PagerDuty",
        "Asana",
        "Notion",
        "Airtable",
        "Greenhouse",
        "BambooHR",
        "Lever",
        "GitLab",
        "Datadog",
        "Sentry",
        "Pendo",
        "FullStory",
        "AmazonAds",
        "PinterestAds",
        "AppleSearchAds",
        "QuickBooks",
        "Xero",
        "NetSuite",
        "WooCommerce",
        "BigCommerce",
        "PayPal",
        "Square",
        "Zoom",
        "Trello",
        "Monday",
        "ClickUp",
        "Confluence",
        "Recurly",
        "SalesLoft",
        "Outreach",
        "Gong",
        "Calendly",
        "Typeform",
        "Iterable",
        "ZohoCRM",
        "Close",
        "Oracle",
        "DynamoDB",
        "Elasticsearch",
        "Kafka",
        "LaunchDarkly",
        "Braintree",
        "Recharge",
        "HelpScout",
        "Gorgias",
        "Instagram",
        "YouTubeAnalytics",
        "FacebookPages",
        "TwitterAds",
        "Workday",
        "ServiceNow",
        "Pardot",
        "Copper",
        "Front",
        "ChartMogul",
        "Zuora",
        "Paddle",
        "CircleCI",
        "CockroachDB",
        "Firebase",
        "AzureBlob",
        "GoogleDrive",
        "OneDrive",
        "SharePoint",
        "Box",
        "SFTP",
        "MicrosoftTeams",
        "Aircall",
        "Webflow",
        "Okta",
        "Auth0",
        "Productboard",
        "Smartsheet",
        "Wrike",
        "Plaid",
        "SurveyMonkey",
        "Eventbrite",
        "RingCentral",
        "Twilio",
        "Freshsales",
        "Shortcut",
        "ConvertKit",
        "Drip",
        "CampaignMonitor",
        "MailerLite",
        "Omnisend",
        "Brevo",
        "Postmark",
        "Granola",
        "BuildBetter",
        "Convex",
        "ClickHouse",
        "Plain",
    ])),
    latest_error: Schema.optional(Schema.NullOr(Schema.String)),
    prefix: Schema.optional(Schema.NullOr(Schema.String)),
    description: Schema.optional(Schema.NullOr(Schema.String)),
    access_method: Schema.optional(Schema.Literals(["warehouse", "direct"])),
    engine: Schema.optional(Schema.Unknown),
    last_run_at: Schema.optional(Schema.NullOr(Schema.String)),
    schemas: Schema.optional(Schema.Array(Schema.Record(Schema.String, Schema.Unknown))),
    job_inputs: Schema.optional(Schema.NullOr(Schema.Unknown)),
    revenue_analytics_config: Schema.optional(Schema.Struct({
        enabled: Schema.optional(Schema.Boolean),
        include_invoiceless_charges: Schema.optional(Schema.Boolean),
    })),
    user_access_level: Schema.optional(Schema.NullOr(Schema.String)),
    supports_webhooks: Schema.optional(Schema.Boolean),
}).pipe(T.Http({
    method: "POST",
    path: "/api/projects/{project_id}/external_data_sources/source_prefix/",
}));
// Output Schema
export const ExternalDataSourcesSourcePrefixCreateOutput = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Void;
// The operation
/**
 * Create, Read, Update and Delete External data Sources.
 *
 * @param project_id - Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
 */
export const externalDataSourcesSourcePrefixCreate = 
/*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    inputSchema: ExternalDataSourcesSourcePrefixCreateInput,
    outputSchema: ExternalDataSourcesSourcePrefixCreateOutput,
    errors: [BadRequest, Forbidden, NotFound],
}));
//# sourceMappingURL=externalDataSourcesSourcePrefixCreate.js.map