import type { ServicePlugin, Store } from '../core/index.js'; import type { WorkOSConnectionType, PipeProvider, PipeConnectionStatus } from './entities.js'; export { getWorkOSStore, type WorkOSStore } from './store.js'; export * from './entities.js'; export interface WorkOSSeedOrganization { name: string; external_id?: string; metadata?: Record; domains?: Array<{ domain: string; state?: 'verified' | 'pending'; }>; memberships?: Array<{ user_id: string; role?: string; status?: 'active' | 'inactive' | 'pending'; }>; } export interface WorkOSSeedUser { email: string; first_name?: string; last_name?: string; password?: string; email_verified?: boolean; external_id?: string; metadata?: Record; impersonator?: { email: string; reason: string; }; } export interface WorkOSSeedConnection { name: string; connection_type?: WorkOSConnectionType; organization: string; state?: 'active' | 'inactive' | 'validating'; domains?: string[]; profiles?: Array<{ email: string; first_name?: string; last_name?: string; idp_id?: string; groups?: string[]; }>; } export interface WorkOSSeedPipeConnection { user_id: string; provider: PipeProvider; scopes: string[]; status?: PipeConnectionStatus; external_account_id?: string; } export interface WorkOSSeedInvitation { email: string; organization_id?: string; inviter_user_id?: string; role_slug?: string; } export interface WorkOSSeedRole { slug: string; name: string; description?: string; type?: 'EnvironmentRole' | 'OrganizationRole'; organization_id?: string; is_default_role?: boolean; priority?: number; permissions?: string[]; } export interface WorkOSSeedPermission { slug: string; name: string; description?: string; } export interface WorkOSSeedWebhookEndpoint { endpoint_url?: string; /** @deprecated Use endpoint_url */ url?: string; events?: string[]; enabled?: boolean; } export interface WorkOSSeedConfig { organizations?: WorkOSSeedOrganization[]; users?: WorkOSSeedUser[]; connections?: WorkOSSeedConnection[]; pipeConnections?: WorkOSSeedPipeConnection[]; invitations?: WorkOSSeedInvitation[]; roles?: WorkOSSeedRole[]; permissions?: WorkOSSeedPermission[]; webhookEndpoints?: WorkOSSeedWebhookEndpoint[]; } export declare function seedFromConfig(store: Store, _baseUrl: string, config: WorkOSSeedConfig): void; export declare const workosPlugin: ServicePlugin; export default workosPlugin;